1

ドット表記でクエリを作成しましたが、完璧に機能します。

    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 ステートメントを共有しています。では、一方が機能し、他方が機能しないのはなぜでしょうか。

4

2 に答える 2

6

db.Personを実装するものである必要があると思いますIQueryable

public IEnumerable<Person> GetPeople()
{
        var query = from p in db.Person
                    select p;

        return (query).ToList();
}
于 2013-06-27T15:04:54.560 に答える