Краткий ответ: нет.
SQL, сгенерированный механизмом LINQ-to-SQL, должен быть практически одинаковым для обеих форм (если не точно одинаково) , потому что вы вызываете .Count()
сразу по запросу .
Версия скомпилированного запроса, с другой стороны, будет быстрее после первого выполнения. Вот один из способов сделать скомпилированный запрос для этого:
Public Shared FetchCount As Func(Of DataContext, Integer) = _
CompiledQuery.Compile(Function(context as DataContext) _
(From c in context.Table Select c).Count())
DataContext
должен быть типом DBML LINQ-to-SQL, а Table
- соответствующей таблицей. И я считаю, что вам нужно импортировать System.Data.Linq
, чтобы иметь доступ к CompiledQuery
.