我有三个表,我使用 edmx 设计器在它们之间添加关联。以下是它们的链接方式。
(表1)贷款-(表2)投资者:多对一关系(表2)投资者-(表3)InvestorInfo:一对多关系
我想获得 [1] 向一位投资者出售的总贷款数量,[2] 投资者姓名和 [3] 投资者服务费,存储在表 3 中,每个投资者的 idx = 2005(“投资者 id 和 idx”是表 3 - InvestorInfo 表)。
我该如何在下面的查询中做到这一点?我被迫选择“FirstOrDefault()”来访问 Table3 中的任何列(参见注释行)。如果我使用 FirstOrDefualt,我会得到一个 idx = 1 而不是 2005 的记录。
var loanPurchaseData = (from cd in entity.Table1
//where cd.Table2.Table3.Select(x => x.IDX == 2005)
//where cd.ULDD_SET_POOLS.ULDD_SET_POOLDT.FirstOrDefault().SORT_ID == 2005
group cd by new { cd.Table4.PurchaseDate, cd.Number } into grp
select new
{
investor = grp.FirstOrDefault().Investor,
no_of_loans = grp.Count(),
sort_id = grp.FirstOrDefault().Table2.Table3.FirstOrDefault().SORT_ID,
service_fee_rate = grp.FirstOrDefault().Table2.Table3.FirstOrDefault().DT_REAL_PERC_VALUE
}).ToList();