0

我有一个名为 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);

您可以在评论中看到我尝试过的其他一些事情。

提前感谢您的帮助

4

1 回答 1

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));

扩展方法将您的AsEnumerableLINQ to Entities 结果包装成一个通用的IEnumerable. 因此,EF 不会将后续的 LINQ 转换为 SQL,而只是执行。

有关更多信息,请参阅 MSDN :http AsEnumerable: //msdn.microsoft.com/en-us/library/bb335435.aspx

于 2012-03-09T13:36:10.683 回答