数据库中有三个相关的表。倡导者、供应商和 Advocate_Vendor。
Advocate_Vendor 表是多对多链接,具有vendorId 和advocateId。
我的最终目标是找回一个List<Advocate>
对象......属于一个供应商的倡导者的集合。我写了这个:
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();
这是最好的方法吗?似乎是错误的,就像使用“包含”关键字或看起来更具可读性的东西可能有一种更简化的方式来做到这一点......让所有供应商的拥护者
谢谢