2012-07-02 206 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。 –