2011-08-14 57 views
0

我有3個表:加入實體框架中需要幫助

地區

ID, 
Name 

ID, 
RegionID, 
Name 

ID, 
DistrictID, 
Name 

當我寫這樣的:

var result = (from item in db.Region.Include("District.City") 
       select item).ToList(); 

在結果我有對象依賴於彼此

例如:在Region我有2個目的,在District 4的對象和在City 8對象

我想寫這個Linq加入,而不是include()

你能幫我嗎?

回答

0

您可以使用加入的,而不是包括,但你的關係不會改變

var result = from r in db.Region 
      join d in db.District on r.ID equals d.RegionID 
      join c in db.City on d.ID equals c.DistrictID 
      where r.ID == 1 
      select r; 
+0

而不凡參數 當我寫它像你,但沒有加入它返回到導致8個對象不是2 – west

+0

@西對不起,只是意識到我忘了一個選擇語句。你還沒有真正定義你期待的結果。你期待1,2,4,8嗎?只是區域對象? –

+0

我預計2在地區,當我用Include()寫它運作良好,並返回2對象在地區,4在城市和8在城市 ,但是當我與加入像你一樣寫它返回8在地區 – west