1
IDとその他のフィールドを持つテーブルAが3つあり、BはIDを持ち、CはAとBのIDが多対多であるSQLグループをEntity Frameworkラムダ式に変換する
は私が
select result.*
from
(SELECT max(A.AID) as AID
FROM A, C
where A.AID = C.AID
group by C.BID) as x, A as result
where result.AID = x.AID
を必要と私は、エンティティフレームワークでのラムダ式に変換したいの結果を取得するクエリを作りました。しかし、現在のところ、クエリは効率的ではありません。どのように私はEFでラムダ式を作り、それをより効率的にするでしょうか?
すべてのレコードで常にA.AID = C.AIDが返されるため、なぜMAX(A.AID)を使用するのかわかりません。さらに、JOINSを持つデカルト積(A、C)を変更しようとしますいくつかのケースではより効率的です(例えば、アクセスでは、私はEFでもそうであるかどうかわかりません)。また、結果表と結合する。 –
BIDのグループごとに最大のAIDが必要なので、MAX(A.AID)を使用しています。 – limefluff
はい、クリア、それをよく見ていないGROUP BY C.BID GROUP BY C.AID;) –