我有一个名为Person的类,它有一个名为hasPermission(Int 32)
的方法我正打算打电话给一些linq并尝试了各种选项,但如果有人有任何想法,还没有设法找到解决方案,请帮助。
我目前有
IEnumerable<Person> co = this.Person();
//this.Person().Where(o => o.IsDeleted == false);
// src.Where(o => o.IsDeleted == false).Select(v => new { Text = v.Name });
return this.Json(co,JsonRequestBehavior.AllowGet);
你可以在评论中看到我尝试过的其他几件事。
感谢您的提前帮助
吉马
答案 0 :(得分:1)
好的,因为这是LINQ to Entities,你需要使用AsEnumerable
方法:
// this.Person().Where(o => !o.IsDeleted) is translated by EF, the rest isn't
this.Person().Where(o => !o.IsDeleted).AsEnumerable().Where(p => p.hasPermission(5));
AsEnumerable
扩展方法将LINQ to Entities结果包装为通用IEnumerable
。因此,后续的LINQ不会被EF转换为SQL,而只是执行。
有关AsEnumerable
的更多信息,请参阅MSDN:http://msdn.microsoft.com/en-us/library/bb335435.aspx