如何从父实体查询嵌套属性

甘德斯

这是我的情况:

  • 我有一个玩家对象
  • 玩家包含一个TeamMembers IList(如果玩家订阅另一个团队,则该玩家可能属于多个团队)
  • TeamMembers映射到特定的团队
  • 球队有一个赛季的财产。

我想要的是:找到一个球员之外的所有赛季。

player.TeamMembers[0].Team.Season会给我当前的季节。我想要所有可能性,因为TeamMembers.Count可能不止一种。

到目前为止,这是我尝试过的方法,并且在语法上出现了许多“红色突出显示”错误。

var seasons = _seasonRepository.Query()
               .Where(s => s.Teams
                            .Where(t => t.TeamMembers
                                         .Where(tm => tm.Player.PlayerId == player.PlayerId)));
拉斐尔的老房子

使用Any()而不是嵌套Where

_seasonRepository.Query()
               .Where(s => s.Teams
                            .Any(t => t.TeamMembers
                                         .Any(tm => tm.Player.PlayerId == player.PlayerId)));

或Dmitry的版本

player.TeamMembers.Select(tm => tm.Team.Season).Distinct();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章