0

私は5つのテーブルを持っています:

  • ゲーム
  • カテゴリー
  • ゲームカテゴリ
  • 映画
  • 映画カテゴリ

GameCategory は、単に Game と Category の間の関係です。(多対多) MovieCategory with movie も同様です。

ゲームに関連するすべてのカテゴリを取得する方法を知りたいだけです。

現時点では、次のクエリを使用します。

Query(c => c.Game.Count > 0).Distinct().ToList();

しかし、このクエリはパフォーマンスが悪い (約 500 ミリ秒) のに対し、SQL サーバーで SQL 管理を使用してクエリ dirclty を使用する場合

SELECT category_id
FROM  [GameCategory]
Group by category_id

0.008 ミリ秒未満かかります。

同じ結果を得るための最良のラムダ式クエリは何ですか?

(Entity フレームワークでは、フレームワークによって隠されているため、GameCategory に直接アクセスすることはできません)

君の力が必要

ありがとう

4

1 に答える 1

0

私は解決策を見つけました:

Query(c => c.Game.Any()).Distinct().ToList(); の使用を検討してください。Query(c => c.Game.Count > 0).Di​​stinct().ToList(); の代わりに

于 2012-11-28T14:45:07.437 に答える