0

さて、私はクライアントと通信するための多数のクラスを持つWCFサービスを作成しています。また、このクラスには多くのプロパティがあります。

主に、このクラスはedmxのコードジェネレーターで作成されたPOCOクラスであり、.ttファイルがあります。

このクラスとプロパティを使用するには、DataContractとDataMemberを使用する必要があるため、各クラスでDataContractを設定し、各クラスの各プロパティでDataMemeberを設定する必要があります。これは大きな作業です。データベースに変更を加える必要がある場合は、ttファイルを再度生成してから、作業を繰り返す必要があります。

これを自動的に行う方法はありますか?.NET4.0とEF4.1を使用しています。

4

2 に答える 2

1

WCFデータサービスを備えたEntityFrameworkProviderがありますが、それが役立つかもしれません。

于 2012-04-14T13:17:25.697 に答える
1

プロジェクトに追加される.ttファイルの要点は、ニーズに合わせてテンプレートを変更できるようにすることです。テンプレートを変更し[DataContract]て、エンティティクラス定義と[DataMember]エンティティプロパティ定義に追加するだけです。

そこから、DBが変更されるたびに、「データベースからモデルを更新」機能を使用するだけで、エンティティは既存のテンプレートを使用してコードを自動的に再生成します。

とはいえ、POCOであろうとなかろうと、DBエンティティをサービスレイヤーから直接公開しないことをお勧めします。実際には、ドメイン分離を使用して設計し、サービスレベルでメッセージングとCQRSタイプのパターンを使用する必要があります。次に、これらのメッセージ/コマンド間のデータをエンティティに変換する簡単なマッピング方法がいくつかあります。

于 2012-04-14T15:34:22.293 に答える