1

使用 select d.FullName 时出现错误“LINQ to Entities 不支持指定类型成员 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();
4

2 回答 2

3

您必须手动选择它:

string[] arrUsers = (from d in db.tblUsers select (d.Forename ?? "") + " " + (d.Surname ?? "")).ToArray();
于 2013-07-26T10:25:10.830 回答
2

因为它在您的数据库中不存在,所以 linq2entities 无法生成正确的 sql

所以

解决方案1

在您的查询中连接,使用合并运算符(如果您不这样做并且一部分为 NULL,则全部为 null)。

select d.ForeName ?? string.Empty + " " + d.Surname ?? string.Empty

解决方案2

  select d.Forename, d.Surname

FullName当您枚举 Queryable 时,您将能够使用

解决方案3

使用计算列

于 2013-07-26T10:28:44.143 回答