次のような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 Framework 4.0 を使用しており、System.Data.Linq dll の 4.0 バージョンを参照しています。