0

Entity Framework を使用してデータベース テーブル (宿泊施設) を表すオブジェクトの IQueryable を返すメソッドがある WCF サービスがあります。クライアント側でそのメソッドを使用しようとすると、メソッドは IQueryable ではなくオブジェクトを返します。私はサービスのコードを見て、Entity Frameworkが生成する宿泊施設クラスにはこの属性があります

[DataContractAttribute(IsReference=true)]

したがって、クライアントはそのクラスを見ることができるはずです。ここで何がうまくいかないのですか?

ありがとう、

サチン

4

1 に答える 1

4

タイプは、コントラクトで使用されている場合にのみメタデータに表示されます。メタデータには IQueryable が何であるかがわかりません。これは動作の定義ですが、コントラクトは状態のみを定義するため、生成されたコードはこの状況で理解できるものを使用します-つまりオブジェクト

サービス コントラクトで EF によって生成された型を使用することは、実際にはお勧めできません。つまり、サービス コンシューマーをデータ アクセス レイヤーに緊密に結び付けることになります。サービス内で EF を内部的に使用し、サービス境界で渡したいデータを定義する型を使用します。

于 2012-09-05T10:19:13.050 に答える