2012-11-28 127 views
0

我有5个表:LAMBDA查询与许多在实体框架多对多关系4

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

GameCategory只是游戏和类别之间的关系。 (多对多) MovieCategory与电影相同。

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

目前我使用此查询:

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

但此查询有糟糕的表现(500ms左右),而如果我在SQL Server照片直接使用查询与SQL管理

SELECT category_id 
FROM [GameCategory] 
Group by category_id 

它需要少于0.008毫秒。

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

(实体框架我无法访问GameCategory直接,因为它由框架隐藏)

需要你的帮助

Thankssss

回答

0

我已经找到了解决办法:

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