私は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(1列だけを選択しようとしています)は、列挙後に実行されます。私がやりたいことは、where 句を使用して SQL クエリを生成し、1 つの列のみを選択することです。
私は何を間違っていますか?