我正在使用 EF5 Code First 模型。考虑以下实体框架查询:
var results = from i in context.Table1
where i.ID == Id // passed in
select new TableInfo()
{
Name = i.Name,
ActionDate = i.Action.ActionDate,
CreatedDate = i.Action.CreatedDate,
CreatedBy = i.Action.CreatedBy.FullName
};
FullName 属性是这样定义的:
[NotMapped]
[Display(Name = "Full Name")]
public string FullName
{
get
{
string ret = string.Empty;
if (String.IsNullOrEmpty(LAST_NAME) || String.IsNullOrEmpty(FIRST_NAME))
{
return "";
}
else
{
return string.Format("{0}, {1}", LAST_NAME, FIRST_NAME);
}
}
}
我得到错误:
LINQ to Entities 不支持指定的类型成员“FullName”。仅支持初始化程序、实体成员和实体导航属性。
如果我创建一个扩展方法来做同样的事情,我会得到类似的错误。所以问题是如何防止 EF 尝试在数据存储上运行这些东西?