ドット表記でクエリを作成しましたが、完璧に機能します。
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 ステートメントを共有しています。では、一方が機能し、他方が機能しないのはなぜでしょうか。