Bat*_*rog 1 c# linq entity-framework asp.net-mvc-3
我用点符号写了一个查询,它完美无缺:
public IEnumerable<Person> GetPeople()
{
return db.Person.OrderBy(m => m.LastName).ThenBy(m => m.FirstName).ToList();
}
Run Code Online (Sandbox Code Playgroud)
然后我不得不用一些连接扩展它,因为我用点表示法不太好,我在查询语法中做了它.我在Person对象上遇到错误"无法找到查询模式的实现".我删除了所有连接并将其归结为上述查询的查询语法版本:
public IEnumerable<Person> GetPeople()
{
var query = from p in Person
select p;
return (query).ToList();
}
Run Code Online (Sandbox Code Playgroud)
但是,上面的查询仍然会得到相同的错误.据我所知,它们是同一个查询.我的研究表明,通常的原因是没有实现IEnumerable,但这些查询属于同一个类,'Repository.cs',因此它们共享相同的using语句.那么一个人怎么能工作呢?
我想它应该是db.Person实现的IQueryable.
public IEnumerable<Person> GetPeople()
{
var query = from p in db.Person
select p;
return (query).ToList();
}
Run Code Online (Sandbox Code Playgroud)