簡體   English   中英

實體框架linq查詢以返回子集合

[英]Entity Framework linq query to return sub collection

我有一個沒有外鍵的表(不幸的是,我對此沒有控制權)。 我試圖返回一個實體及其相關集合,如下所示:

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>}

謝謝

讓我們試試這個。

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 }

也許這就是您想要的:

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)}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM