Cra*_*lla 6 c# linq linq-to-entities c#-3.0
有没有人知道是否可以在现有实体类型上创建一个新属性,该实体类型基于连接在一起的其他2个属性?
例如,我的人员实体类型包含这些字段"ID","Forename","Surname","DOB"
我想创建一个名为"Fullname"的新字段
Forenames + " " + Surname
Run Code Online (Sandbox Code Playgroud)
所以我最终得到了"ID","Forename","Surname","DOB","Fullname".
我知道我可以通过编程方式使用Linq来做到这一点
var results = from p in db.People
select new {
ID = p.ID,
Forename = p.Forename,
Surname = p.Surname,
DOB = p.DOB,
Fullname = p.Forename+ " " + p.Surname
};
Run Code Online (Sandbox Code Playgroud)
然后打电话给像
var resultsAfterConcat = from q in results
where q.Fullname.Contains(value)
select q;
Run Code Online (Sandbox Code Playgroud)
但是,我真的很想使用Linq to Entities在概念模型级别为我做这项工作.
还没有,但也许很快了。首先,请注意,无论有或没有该属性,您建议的查询在 LINQ to Entities 中根本不起作用,因为目前它不支持 Contains。然而,.NET 4.0 中实体框架的新版本应该支持 LINQ to Entities 查询中的自定义方法。您可以观看PDC 的有关此内容的视频。本质上,您必须编写两次自定义方法;一次在代码中,一次在数据库中(例如,在计算字段中)。请观看视频了解更多信息。