Привет, у меня есть этот бит кода linq
var fp = lnq.attaches.First(a => a.sysid == sysid).name;
При профилировании он генерирует следующий t-sql
SELECT TOP (1) [t0].[sysid], [t0].[name], [t0].[att_size], [t0].[cid], [t0].[flags], [t0].[contents]
FROM [lntmuser].[attach] AS [t0]
Как я смотрю на него, он возвращается как select *, который заставит запрос выполнять сканирование таблицы, а затем использовать индекс. Плохо для производительности.
Как я могу выбрать только столбец имен, например:
SELECT TOP (1)[t0].[name] FROM [lntmuser].[attach] AS [t0]
Заранее спасибо
Изменить: Разбитые профили раствора по желанию
SELECT TOP (1) [t0].[name]
FROM [lntmuser].[attach] AS [t0]
WHERE [t0].[sysid] = @p0