当我执行 Linq2Sql 查询时
db.Items.Single(it => it.Id == 1)
有人坚持认为生成的sql就像
select TOP (2) [t0].Id, [t0].Name
from [dbo].[SomeTable] as [t0]
where [t0].Id = @p0
但是我从 Sql Server Profiler(和 Linqpad 的 sql 窗口和 VS IntelliTrace 窗口)得到的结果表明 sql 不包含任何 TOP,只是简单的
select [t0].Id, [t0].Name
from [dbo].[SomeTable] as [t0]
where [t0].Id = @p0
重要的是Linq版本吗?我正在使用 .Net 框架 4.0,并引用了 System.Data.Linq dll 的 4.0 版本。