我有EF小问题。我正在一张大桌子上进行查询,并且需要很长时间。我想我找到了原因,但找不到解决办法;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子句和选择(我尝试只选择一列)在枚举之后执行。我想要它做的是用where子句产生一个SQL查询并只选择一列。
我在做什么错?
刚刚起来,o.Any()? o.FirstOrDefault():null是多余的。如果未找到匹配项,o.FirstOrDefault()将返回null。 –
什么是“表”? –
我现在把null放在那里,我实际上返回了一些东西,但不想在这里发布,它不影响查询 – reinder