我的查询有什么问题?这是使用标准的会员表。
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')。
答案 0 :(得分:2)
我希望您正在尝试(或者更确切地说LINQ正在尝试)将clientRole
用作select语句的where子句。您只能发送简单类型参数。
相反,您需要评估内联角色。
然而,如果你只是反向移动(这听起来不错,对吧?)可能会更容易。你应该能够做到这一点:
var clientRole = rushDB.aspnet_Roles.Single(r => r.LoweredRoleName == "client" );
return View(clientRole.aspnet_Users.ToList());