什么是基于它的name属性从一个表返回Entity Framework对象的最短方法?

时间:2010-05-30 04:31:38

标签: c# entity-framework linq-to-entities

根据名称属性从一个表返回Entity Framework对象的最短方法是什么?

所以说一个人有一个表人,有了列名,什么是返回person对象的最快方法,名字=“蒂姆”说?

e.g。 context.People.Select(m => m.Name == "Tim")似乎不起作用?

3 个答案:

答案 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();