【发布时间】:2011-09-20 18:19:54
【问题描述】:
这里的情况很奇怪。由于某种原因,我无法在 IQueryable 对象上调用“Where”或任何其他函数。
这是我所拥有的:
public IQueryable<Employee> Employees
{
get { return _entities.Employees.AsQueryable(); }
}
public ActionResult Index()
{
return View(new HomeViewModel
{
Employees = Employees.Where(e => e.Active == true)
});
}
但是 Intellisense 没有选择 Where 函数,并且我收到一个构建错误,上面写着:
“System.Linq.IQueryable”不包含“Where”的定义,并且找不到接受“System.Linq.IQueryable”类型的第一个参数的扩展方法“Where”(您是否缺少 using 指令或程序集参考?)
但我可以像这样调用.Where,它可以工作:
public IQueryable<Employee> Employees
{
get { return _entities.Employees.AsQueryable().Where(e => e.Active == true); }
}
我不知道发生了什么。
【问题讨论】:
-
只是为了确定,您是否在顶部包含了 using System.Linq?
-
这两个代码 sn-ps 是否在同一个文件中?顶部有
using System.Linq;吗?
标签: c# asp.net linq entity-framework