LINQ to Entities 不支持指定的类型成员 'Title'
The specified type member 'Title' is not supported in LINQ to Entities
我在 Linq to Entity 中使用 Title
属性 时出错:
The specified type member 'Title' is not supported in LINQ to
Entities. Only initializers, entity members, and entity navigation
properties are supported.
我的查询是:
var db = FaraWorkspaceEntity.GetEntity();
var query = from item in db.ProjectManagers
where item.ProjectID == projectID
select new UserListItem
{
ID = item.UserID,
Title = item.User.Title // Here is error
};
return query.ToList();
public class User : IdentityUser<string, UserLogin, UserRole, UserClaim>
{
[Required]
[Display(Name = "نام")]
[StringLength(50)]
public string Firstname { get; set; }
[Required]
[Display(Name = "نام خانوادگی")]
[StringLength(50)]
public string Lastname { get; set; }
public string Title
{
get { return this.Firstname + " " + this.Lastname; }
}
}
Title
是您实体中的 属性。在您的 table 中没有这样的栏目。 Entity Framework
无法将您的代码转换为 Sql
。因此,您必须将代码更改为:
var query = from item in db.ProjectManagers
where item.ProjectID == projectID
select new UserListItem
{
ID = item.UserID,
Title = item.User.Firstname + " " + item.User.Lastname;
};
但是,我建议你 select FirstName
和 LastName
,当你想获得 Title
的值时,你的 getter 访问器将工作:
var query = from item in db.ProjectManagers
where item.ProjectID == projectID
select new UserListItem
{
ID = item.UserID,
Firstname = item.User.Firstname
Lastname = item.User.Lastname;
};
我在 Linq to Entity 中使用 Title
属性 时出错:
The specified type member 'Title' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
我的查询是:
var db = FaraWorkspaceEntity.GetEntity();
var query = from item in db.ProjectManagers
where item.ProjectID == projectID
select new UserListItem
{
ID = item.UserID,
Title = item.User.Title // Here is error
};
return query.ToList();
public class User : IdentityUser<string, UserLogin, UserRole, UserClaim>
{
[Required]
[Display(Name = "نام")]
[StringLength(50)]
public string Firstname { get; set; }
[Required]
[Display(Name = "نام خانوادگی")]
[StringLength(50)]
public string Lastname { get; set; }
public string Title
{
get { return this.Firstname + " " + this.Lastname; }
}
}
Title
是您实体中的 属性。在您的 table 中没有这样的栏目。 Entity Framework
无法将您的代码转换为 Sql
。因此,您必须将代码更改为:
var query = from item in db.ProjectManagers
where item.ProjectID == projectID
select new UserListItem
{
ID = item.UserID,
Title = item.User.Firstname + " " + item.User.Lastname;
};
但是,我建议你 select FirstName
和 LastName
,当你想获得 Title
的值时,你的 getter 访问器将工作:
var query = from item in db.ProjectManagers
where item.ProjectID == projectID
select new UserListItem
{
ID = item.UserID,
Firstname = item.User.Firstname
Lastname = item.User.Lastname;
};