Ste*_*ven 38 c# linq asp.net entity-framework
这里很奇怪的情况.出于某种原因,我无法在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)
});
}
Run Code Online (Sandbox Code Playgroud)
但Intellisense没有选择Where函数,我得到一个Build Error,它说:
'System.Linq.IQueryable'不包含'Where'的定义,也没有扩展方法'Where'可以找到接受类型'System.Linq.IQueryable'的第一个参数(你是否缺少using指令或汇编引用?)
但是我可以.Where像这样打电话它起作用:
public IQueryable<Employee> Employees
{
get { return _entities.Employees.AsQueryable().Where(e => e.Active == true); }
}
Run Code Online (Sandbox Code Playgroud)
我不知道是怎么回事.
Chr*_*ain 61
您需要添加"using System.Linq ;"声明文件中的指令不起作用.IEnumerable/IQueryable的所有扩展方法分别在Enumerable和Queryable类中定义.
为了使用扩展方法,定义方法的类必须在范围内.我的猜测是你的第二个代码片段来自另一个你拥有using语句的文件.
| 归档时间: |
|
| 查看次数: |
42760 次 |
| 最近记录: |