我收到错误" LINQ to Entities"不支持指定的类型成员FullName。当使用select d.FullName时,是因为它不是表的一部分吗?
我该如何解决这个问题?
由于
用户类public partial class tblUser
{
public tblUser()
{
this.Equipment = new HashSet<tblEquipment>();
}
public int ID { get; set; }
public string Forename { get; set; }
public string Surname { get; set; }
public string FullName { get { return Forename + " " + Surname; } }
查询错误
string[] arrUsers = (from d in db.tblUsers select d.FullName).ToArray();
答案 0 :(得分:3)
您必须手动选择它:
string[] arrUsers = (from d in db.tblUsers select (d.Forename ?? "") + " " + (d.Surname ?? "")).ToArray();
答案 1 :(得分:2)
因为它在你的数据库中不存在,所以linq2entities无法生成正确的sql
所以
<强>解决方法1 强>
在您的查询中连接,使用合并运算符(如果不这样,并且一个部分为NULL,则全部为null)。
select d.ForeName ?? string.Empty + " " + d.Surname ?? string.Empty
<强>溶液2 强>
select d.Forename, d.Surname
,当您枚举了Queryable时,您将能够使用FullName
<强> Solution3 强>
使用计算列