【发布时间】:2015-07-18 08:13:09
【问题描述】:
嗨,我有这段 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
【问题讨论】: