関連するデータベースには 3 つのテーブルがあります。Advocate、Vendor、および Advocate_Vendor。
多対多のリンクである Advocate_Vendor テーブルには、vendorId と AdvocateId があります。
私の最終的な目標は、オブジェクトを取り戻すList<Advocate>
ことです... 1 つのベンダーに属する支持者のコレクションです。私はこれを書きました:
var list = new List<Advocate>();
foreach (var vendorAdvocates in db.Advocate_Vendors)
{
if (vendorAdvocates.VendorId == vendorId)
{
list.Add(db.Advocates.SingleOrDefault(a => a.AdvocateId == vendorAdvocates.AdvocateId));
}
}
そして、これ:
var list = (from vendorAdvocates in db.Advocate_Vendors
where vendorAdvocates.VendorId == vendorId
select db.Advocates.SingleOrDefault(a =>
a.AdvocateId == vendorAdvocates.AdvocateId)).ToList();
これが最善の方法ですか?「含む」キーワードまたはもう少し読みやすいものを使用してこれを行うためのより合理的な方法があるかもしれないように、間違っているようです...すべてのベンダーの支持者を入手してください
ありがとう