这是一个 Asp.net Mvc 4 Web 应用程序。它一直有效,直到我添加|| User.IsInRole("Admin")
. 为什么工作User.IsInRole
时不能在 lambda 表达式中User.Identity.Name
?
private IQueryable<Item> Items
{
get
{
return _db.Items.Where(d => (d.CreatedBy == User.Identity.Name || User.IsInRole("Admin")));
}
}
public ActionResult Index()
{
var items = Items.Include(d => d.Address);
return View(items.ToList());
}
错误是在 引发的items.ToList()
。
LINQ to Entities 无法识别“Boolean IsInRole(System.String)”方法,并且该方法无法转换为存储表达式。