2013-06-19 17 views
0

如何使用Entity框架和linq從各種連接表中獲取列?使用EF查詢從連接列中獲取列

我的SQL語句類似於:

SELECT 
    j1.Username, j2.points, j3.address1 
FROM 
    users j1 
    INNER JOIN points j2 on j1.userId = j2.UserId 
    INNER JOIN addresses j3 on j3.userId = j1.UserId 

所以我很困惑,如何將此轉化爲EF/LINQ查詢從連接表/實體返回列。

回答

0

你一定要發佈什麼你問這個問題之前嘗試過...

應該看起來像:

var results = from j1 in context.users 
       join j2 in context.points on j1.UserId equals j2.UserId 
       join j3 in context.addresses on j1.UserId equals j3.UserId 
       select new { j1.Username, j2.points, j3.address1 } 

它會給你匿名對象的集合與3列值。

+0

好的,謝謝。現在,如果我添加一個group by子句,比如j1.CountryCode中的group j1變成g1,這會導致一個問題,因爲它似乎將輸出投影到變量g1中? – loyalflow

+0

是的,分組後,你會得到'IEnumerable >' – MarcinJuraszek