实体框架4中具有多对多关系的Lambda查询

时间:2012-11-28 14:32:48

标签: entity-framework lambda many-to-many

我有5张桌子:

  • 游戏
  • 分类
  • GameCategory
  • 电影
  • MovieCategory

GameCategory只是Game和Category之间的关系。 (很多很多) MovieCategory与电影相同。

现在我只想知道如何获得与游戏相关的所有类别。

目前我使用此查询:

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

但是这个查询性能不好(大约500ms),而如果我在sql server中使用查询direclty和sql management

SELECT category_id
FROM  [GameCategory]
Group by category_id

它需要不到0.008毫秒。

具有相同结果的最佳lambda表达式查询是什么?

(使用Entity框架我无法直接访问GameCategory,因为它被框架隐藏了)

需要你的帮助

Thankssss

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

考虑使用Query(c => c.Game.Any())。Distinct()。ToList();而不是查询(c => c.Game.Count> 0).Distinct()。ToList();