根据名称属性从一个表返回Entity Framework对象的最短方法是什么?
所以说一个人有一个表人,有了列名,什么是返回person对象的最快方法,名字=“蒂姆”说?
e.g。 context.People.Select(m => m.Name == "Tim")
似乎不起作用?
答案 0 :(得分:3)
context.People.First(m => m.Name == "Tim")
答案 1 :(得分:1)
你只想要一个物体吗?如果您确信表格中只有一个项目符合您的标准,您可以说
context.People.Single(m => m.Name == "Tim");
如果可能有多个,而您只想要第一个,那么请使用.First()扩展方法。不同之处在于,如果多个记录符合您的条件,Single将抛出异常。首先简单地做了它所说的,它将采用任意数量的记录中的第一个。
(如果表中没有合适的记录,还要考虑SingleOrDefault和FirstOrDefault方法。)
编辑:显然。Linq-To-Entities框架不支持单一,但First是。
答案 2 :(得分:0)
这也有效......(也许这不是最简短的方法,但我发现它更具可读性)
var person = (from p in context.People
where p.Name == "Tim"
select p).FirstOrDefault();