我试图找出 Where(Expression) 和 Single(Expression) 之间的区别。

传递到 single 的 Expression 是否转发到 Where 函数?

例如,这两个陈述是否相同?

var result = context.Persons.Single(p => p.ID == 5);
var result2 = context.Persons.Where(p => p.ID == 5).Single();

最佳答案

Single 返回一个 Person ,而 Where 将返回一个 IEnumerable<Person>

将 where 表达式传递到 single 只是语法糖。

这两行在功能上是等效的。我想象的第一个可能会更有效。在我看来,它对眼睛也更容易。

关于linq - Where和Single的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3288111/

10-12 01:44