tsh*_*ake 5 .net c# linq iqueryable
在where子句中获取orderby的此错误.我之所以这样做,是因为之前,如果我没有定义'人',我会在返回时收到错误,因为人们说这个名字'人'在当前的情境中并不存在.我该如何解决?
public JsonResult PersonsList(string birthyear)
{
TutorialDBContext db = new TutorialDBContext();
var NumericYear = Convert.ToInt32(birthyear);
IQueryable people;
if (birthyear == "All")
{
people = from m in db.persons
select m;
people = people.OrderByDescending(s => s.birthdate);
}
else
{
people = from m in db.persons
where m.birthdate.Year >= NumericYear
where m.birthdate.Year <= (NumericYear + 9)
select m;
}
return Json(people, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
因为确实没有这样的方法.有一个接受一个IQueryable<T>
.使用
IQueryable<Person> people;
Run Code Online (Sandbox Code Playgroud)
或任何适合的元素类型.
OrderByDescending()
是 的扩展方法IQueryable<T>
,而不是非泛型的扩展方法IQueryable
。
所以你需要声明people
为IQueryable<Person>
.
归档时间: |
|
查看次数: |
1855 次 |
最近记录: |