【问题标题】:MVC Linq selecting a list of users with the have role ofMVC Linq 选择具有角色的用户列表
【发布时间】:2011-05-22 14:57:05
【问题描述】:

我下面的查询有什么问题?这是使用标准的成员资格表。

var clientRole = rushDB.aspnet_Roles.Single(r => r.LoweredRoleName == "client" );
        //var users = rushDB.aspnet_Users.Where(u => u.aspnet_Roles.Contains(client)).AsEnumerable();

        var users = from u in rushDB.aspnet_Users
                        where u.aspnet_Roles.Contains(clientRole)
                    select u;

        return View(users.ToList());

我看到这个错误... 无法创建“RushToIt.Models.aspnet_Roles”类型的常量值。此上下文仅支持原始类型(“例如 Int32、String 和 Guid”)。

【问题讨论】:

    标签: asp.net-mvc linq asp.net-membership role


    【解决方案1】:

    我希望您正在尝试(或者更确切地说是 LINQ 正在尝试)使用 clientRole 作为 select 语句的 where 子句。您只能发送简单类型是参数。

    相反,您需要内联评估角色。

    但是,如果您只是反向遍历,可能会更容易(听起来不错,对吧?)。你应该可以这样做:

    var clientRole = rushDB.aspnet_Roles.Single(r => r.LoweredRoleName == "client" );
    return View(clientRole.aspnet_Users.ToList());
    

    【讨论】:

    • 传奇伙伴。正是我想要的。希望你在 3 小时前告诉我这个,哈哈。
    猜你喜欢
    • 2020-06-02
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多