2012-07-02 99 views
0

Basicall我有三個表用戶角色和USerRoles具有多對多關係。所以,當我在.edmx上導入這些時,我只能得到兩個實體。所以我在這兩個實體都有導航屬性。 我有三個用戶和兩個角色(admin和ReadOnly)。所以 現在我想要獲取具有管理員角色的所有用戶。 以下是我的查詢需要一個Linq查詢來查詢對應的SQL查詢

select U.UserName from Users U 
Inner Join UserRoles UR on U.UseID = UR.UserId where UR.RoleId = 1 

我想在Linq查詢上面。

回答

0

事情是這樣的:

users.Include("Roles").Where(u => u.Roles.Any(x => x.Id == 1)) 
+0

嗨,我不在我的DbContext中有UserRoles實體。所以我不能像你那樣加入。那麼如何實現這個目標呢? –

+0

你有角色實體嗎?在你的情況下? –

+0

看看我做的編輯 –

0

更新時間:

var result = Users.Where(u => u.Roles.Any(x => x.RoleId == 1)) 
+0

您好我別有實體的UserRole在我的DbContext。所以我不能像你那樣加入。那麼如何實現這一目標呢? –

+0

因此,如果您的上下文中的用戶實體下有角色,請嘗試從上面更新解決方案。使用您的多對多關係將LINQ表達式轉換爲正確的SQL。 –