[英]Linq to Entities: adding a where condition to a child relationship
[英]Linq to Entities : relationship * - *
我的EF架構上有一個關系*-*(由帶有2個鍵的中間表設計)。 當我想要對每個過濾器時(即:我希望通過一個函數過濾所有細分市場),我將執行以下查詢:
var requete = from mkt in ent.MARKETSEGMENT_MKT
where mkt.FUNCTION2_FUN.Where(fu => fu.FUN_ID == FunId).FirstOrDefault().FUN_ID == FunId
它正在工作,但是很難看。 如何為篩選的關系*-*編寫良好的查詢?
謝謝
使用Join方法。
nerddinner.com的這個小例子可能會有所幫助:
var dinners = from dinner in FindUpcomingDinners()
join i in db.NearestDinners(latitude, longitude)
on dinner.DinnerID equals i.DinnerID
select dinner;
在LINQ to Entities(或LINQ to SQL)中使用join
幾乎永遠是不正確的 。
由於您未指定實體集名稱,因此我不得不猜測。 我希望這是有道理的:
var requete = from fun in ent.FUNCTION
where fun.FUN_ID == FunId
from mkt in fun.MARKETSEGMENT_MKT
select mkt;
這里的重點是,您可以在FUNCTION
和MARKETSEGMENT
之間建立雙向關聯。 用它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.