2つのクエリから新しいモデルを作成する必要があります。私はそれらの両方がお互いへの参照を持つ、メンバーエンティティとMemberTeam実体を持っています。私が必要とするのは、すべてのメンバーののメンバーであり、そのメンバーが特定のチームに割り当てられているかどうかを知ることです。2つのLinqクエリをforeachループなしの単一選択に結合する
は、私は現在動作しますが、私には不格好と思われる次のコードを持っている、と私は誰かが(foreachのなし)のみのLINQ文を使用して、この組み合わせリストを作成するためのより良い方法があることを期待しています。基本的には、コードはすべてのメンバーのリストを取得し、チームに割り当てられたメンバーの別のリストを取得し、foreachループを使用してメンバーがチームに割り当てられているかどうかを確認します。
public class Member
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int TeamId { get; set; }
public virtual MemberTeam Team { get; set; }
//... Other properties here...
}
public class MemberTeam
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Member> Members { get; set; }
}
public class SelectedMemberModel
{
public int MemberId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool Selected { get; set; }
}
ジョアンナ、フィードバックいただきありがとうございます。あなたの2番目の方法は、私が探していたものでした。私は効率についてあなたのポイントを見ます。より洗練されているように見えますが、それでもデータベース(allMembersとteamMembers)に対して2つのクエリが必要です。私は単一の選択声明を期待していましたが、あなたの提案はまだきれいです。入力いただきありがとうございます。 – bigmac
@bmccleary - 私はクエリを変更しましたが、今ははるかに簡単です。あなたが望むことをやっているようにも思われます - アップデート2を見てください。 –