我有一张没有外键的桌子(不幸的是我无法控制它)。我试图返回一个实体及其相关集合,如下所示:
from charity in context.Charities
join registration in context.Registrations on charity.RegisteredNumber equals registration.RegisteredNumber
join annualReturn in context.AnnualReturns on charity.RegisteredNumber equals annualReturn.RegisteredNumber
select new { Charity = charity, Registration = registration, AnnualReturn = annualReturn}
这会返回一个慈善机构列表,其中包含相关注册(正确)。
然而,慈善机构有多个AnnualReturn
,而这只会返回一个。{它可能是这个匿名对象中的集合吗?
我正在寻找的输出是:
{ Charity = singleCharity, Registration = singleRegistration, AnnualReturns = List<AnnualReturn>}
由于
答案 0 :(得分:0)
让我们尝试一下......
from ar in context.AnnualReturns
group ar by annualReturn.RegisteredNumber into annualReturn
join charity in context.Charities
on annualReturn.Key equals charity.RegisteredNumber
join registration in context.Registrations
on charity.RegisteredNumber equals registration.RegisteredNumber
select new { Charity = charity, Registration = registration, AnnualReturn = annualReturn }
答案 1 :(得分:0)
也许这就是你要找的东西:
from charity in context.Charities
join registration in context.Registrations on charity.RegisteredNumber equals registration.RegisteredNumber
select new { Charity = charity,
Registration = registration,
AnnualReturn = context.AnnualReturns.Where(at=>ar.RegisteredNumber==charity.RegisteredNumber)}