C# 成员[class]没有受支持的SQL转换

C# 成员[class]没有受支持的SQL转换,c#,asp.net,linq,C#,Asp.net,Linq,我得到以下错误: 错误消息:成员 'Company.ProductCore.Core.Domain.Account.Email' 没有支持的到SQL的转换 我的方法如下所示: public Account GetAccountByEmail(string email) { Account account; using (WorkbookDataContext dc = _conn.GetContext())

我得到以下错误:

错误消息:成员 'Company.ProductCore.Core.Domain.Account.Email' 没有支持的到SQL的转换

我的方法如下所示:

public Account GetAccountByEmail(string email)
        {
            Account account;

            using (WorkbookDataContext dc = _conn.GetContext())
            {
                account = ( from a in dc.Accounts
                            join em in dc.Emails on a.AccountId equals em.AccountId
                            where a.Email.EmailAddress == email
                            select a).FirstOrDefault();
            }

            return account;

        }
My Account类有一个公开电子邮件的getter/setter:

 public Email Email
        {
            get { return _email; }
            set { _email = value; }
        }
我的电子邮件是一个LINQ对象

我有一种感觉,问题是我正在为我的电子邮件使用LINQ对象 财产?我是LINQ的新手,不知道为什么会这样

感谢您的帮助……

我想这就是您想要的(您需要通过已知的映射直接引用电子邮件地址),但如果不了解您的结构,我无法100%确定:

            account = (from a in dc.Accounts
                       join em in dc.Emails on a.AccountId equals em.AccountId
                       where em.EmailAddress == email
                       select a).FirstOrDefault();
为什么?部分:
简言之,LINQ不知道该属性是什么,并且无法进行SQL查询,因为它不知道,所以当它尝试从表达式树生成查询时,您将得到一个运行时错误


除非LINQ知道某个属性映射到哪个表/列/函数,否则不能在查询中使用该属性,否则它无法将其转换为SQL或从SQL转换为SQL

什么是LINQ对象?请出示您的
电子邮件
课程。