Я полагаю, что (при условии _ctx
является DataContext
) сгенерированный SQL будет умеренно эффективным.
Могу ли я предложить вам запустить SQL Server Profiler во время выполнения этих кусков кода?
Я думаю, что запрос для r2
будет простым SELECT TOP (1)
оператором.
r1
имеет шанс быть эффективным с:
SELECT TOP(5) [fields]
FROM (
SELECT TOP (10) [fields]
FROM [table]
ORDER BY [identitycol] DESC
)
r3
похоже, что он может просто выбрать все и взять последнюю запись.
Попробуйте Profiler и посмотрите:)