我用点表示法写了一个查询,它工作得很好:
public IEnumerable<Person> GetPeople()
{
return db.Person.OrderBy(m => m.LastName).ThenBy(m => m.FirstName).ToList();
}
然后我不得不用一些连接来扩展它,因为我对点表示法不太擅长,所以我用查询语法来做。我在 Person 对象上收到错误“无法找到查询模式的实现”。我删除了所有的连接,并将其归结为上述查询的查询语法版本:
public IEnumerable<Person> GetPeople()
{
var query = from p in Person
select p;
return (query).ToList();
}
但是,上述查询仍然出现相同的错误。据我所知,它们是同一个查询。我的研究表明,通常的原因是没有实现 IEnumerable,但这些查询位于同一类“Repository.cs”中,因此它们共享相同的 using 语句。那么如何一个工作而另一个不工作呢?