我对 EF 有一个小问题。我正在对一张大表执行查询,这需要很长时间。我想我找到了原因,但找不到解决方案;
我的 LINQ 查询如下所示:
IEnumerable<string> o = (from P in Table where P.ITEMID == itemid && P.IMAGESIZE == size select P.PATH);
return o.Any() ? o.FirstOrDefault() : null;
我希望这会产生一个带有 where 子句的 SQL 查询,但它实际产生的是这样的:
SELECT
[Extent1].[ITEMID] AS [ITEMID],
[Extent1].........
snap 10 columns
FROM [dbo].[TABLE] AS [Extent1]
where 子句和 select(我尝试只选择一列)在枚举后执行。我想要它做的是使用 where 子句生成一个 SQL 查询并只选择一列。
我究竟做错了什么?