0

これが私のシナリオです:

  • プレイヤーオブジェクトがあります
  • プレーヤーには 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)));
4

1 に答える 1

0

Any()入れ子の代わりに使用Where

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

またはドミトリーのバージョン

player.TeamMembers.Select(tm => tm.Team.Season).Distinct();
于 2013-09-13T14:17:11.200 に答える