C# 成员[class]没有受支持的SQL转换
我得到以下错误: 错误消息:成员 'Company.ProductCore.Core.Domain.Account.Email' 没有支持的到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())
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对象?请出示您的
电子邮件
课程。