2009-05-06 10 views
0

WCFサービスでは、Linq to Entitiesを使用しています。自動生成エンティティを含むedmxファイルを作成しました。プロキシの作成中に、データコントラクトとdatamember属性があっても、エンティティはプロキシクラスに表示されません。私たちは、自動生成されたエンティティがSystem.Data.Objects.DataClasses.EntityObjectという名前から継承しているためにこの問題が発生していることを発見しました。しかし、継承を持たないクラスを作成すると、そのクラスがプロキシに表示されます。これを解決する方法はありますか?wcfとADOエンティティフレームワーク

よろしく スカール

答えて

3

我々はこれを行う方法は、次のとおりです。

  • 自動変換するために、データコントラクトで使用される別々のクラス
  • 書き込みマッピングコードを作成するエンティティフレームワークエンティティ
  • を生成1つの契約クラスからエンティティクラスまで、そして戻る

これはちょっと複雑かもしれませんが、それは機能します(データベースの変更からサービスを分離する)。これはエンティティフレームワークの次のバージョンでずっと簡単になるはずです。

+1

+1 - ドメインオブジェクトをサービスを通じて公開しないで、別のDTOを公開してください。 AutoMapper(automapper.codeplex.com)を使用している場合、マッピングコードはあまりにも面倒ではありません。 –

関連する問題