簡體   English   中英

Linq與實體:關系*-*

[英]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;

這里的重點是,您可以在FUNCTIONMARKETSEGMENT之間建立雙向關聯。 用它!

暫無
暫無

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

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