【问题标题】:Need a Linq Query for Corresponding Sql Query [closed]需要一个用于对应 Sql 查询的 Linq 查询 [关闭]
【发布时间】:2012-07-02 16:15:42
【问题描述】:

Basicall 我有三个具有多对多关系的表用户角色和用户角色。所以当我在 .edmx 上导入这些时,我只得到两个实体。所以我在两个实体中都有导航属性。 我有三个用户和两个角色(管理员和只读)。所以 现在我想获取所有具有管理员角色的用户。 下面是我的 Sql 查询

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

我想在 Linq 查询上面。

【问题讨论】:

    标签: asp.net-mvc-3 linq entity-framework-4


    【解决方案1】:

    类似这样的:

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

    【讨论】:

    • 您好,我的 DbContext 中没有 UserRoles 实体。所以我不能像你那样加入。那么如何实现呢?..
    • 你有 Roles 实体吗?在你的上下文中?
    【解决方案2】:

    更新:

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

    【讨论】:

    • 您好,我的 DbContext 中没有 UserRoles 实体。所以我不能像你那样加入。那么如何实现呢?..
    • 因此,如果您在上下文中的用户实体下有角色,请尝试从上面更新解决方案。 LINQ 表达式将使用您的多对多关系转换为正确的 SQL。
    猜你喜欢
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2016-04-09
    相关资源
    最近更新 更多