我试图找出 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/