我正在寻找一些关于如何在使用多个表的连接时最好地获取第一条记录的建议,如下所示。
我有三张桌子:
- Leads < - 这在结果中应该是唯一的
- LeadAddresses(连接表)
- 地址
通常我会像这样加入他们:
from t2
in db.Leads
.Where(o => t1.LeadId == o.Lead_ID)
from t4
in db.LeadAddresses
.Where(o => t2.Lead_ID == o.Lead_ID)
.DefaultIfEmpty()
from t5
in db.Addresses
.Where(o => t4.Address_ID == o.Address_ID)
.DefaultIfEmpty()
(如果这是不好的做法,请告诉我;)
我希望从Addresses表中获取每个潜在客户记录和项目到模型的属性(例如,具有最大 ID 的那个) :
select new LeadGridModel
{
...
});
例子:
Lead Company | City | ZIP
==============================
Company 1 | Boston | 00000
Company 2 | Houston | 00001