1

特定のタイプのエンティティを除外しようとしています。私はEntityFrameworkを使用しており、親エンティティと、親エンティティから継承するさまざまな子があります。私はこれらの子の1つを除外しようとしています。

たとえば、私は次の構造を持っています:

  • 住所:エンティティ
    • 郵便番号:住所
    • 住所

ユーザーエンティティには、1つのアドレスへの参照があります。郵便番号タイプのアドレスに関連付けられているユーザーのリストを取得するにはどうすればよいですか?

すなわち私は試しました:

 var query = from User p in context.Users
                        where p.Address.GetType() == typeof(PostCode)
                        select p;

しかし、私は得ます:

LINQ to Entitiesは、メソッド'System.Type GetType()'メソッドを認識せず、このメソッドをストア式に変換できません。

最初にユーザーのリストを取得してから、特定のタイプのユーザーを選択するという解決策をいくつか見てきました。このソリューションの問題は、クエリが最初にすべてのユーザーを取得することです。かなりの数のユーザーがいるので、クエリにフィルターを含めたいと思います。

ありがとう!

4

1 に答える 1

5

is演算子を使用してみてください。

 var query = from User p in context.Users
                    where p.Address is PostCode
                    select p;
于 2012-10-03T10:37:26.950 に答える