为什么Single LINQ扩展方法创建查询选择TOP(2)?

时间:2012-01-12 02:14:27

标签: entity-framework

我正在查看我的探查器,看起来Linq扩展方法Single选择了2行。那么为什么Single LINQ扩展方法会创建一个查询Select TOP(2)?不应该是select top(1)吗?

1 个答案:

答案 0 :(得分:12)

First仅请求单个结果。 Single请求两个结果,因为只有结果集中只有一个成员才会返回结果。如果有零或两个(或多于两个)它会抛出异常,所以它必须至少请求两个结果。