2

Enitity Framework について読んだ後、いくつか質問があります。

1]ティア間でエンティティを転送する最良の方法は何ですか? a]これのために軽量のDTOを作成する必要がありますか、それともエンティティを効果的にシリアル化して転送できますか?

b]効率のために軽いDTOを作成する必要があり、Automapperの優れた使用法を見た後、それが余分なコーディングをどのように節約するかをよく理解していませんでした(それが目標である場合)、つまり、flatterクラスを書く必要があります( DTO) properties であるため、ctor のみが保存されます。

2] DTOからエンティティクラス構築するポイントはありますか?

ありがとう。

4

2 に答える 2

2

1 に対する回答: 層間でエンティティを転送する最適な方法は、アプリケーションによって異なります。エンティティのシリアル化は可能ですが、私の推奨するソリューションである DTO を作成できますが、これが実際にやりたいことであり、覚えておく必要があります。

「バイナリ シリアル化と WCF データ コントラクト シリアル化を使用する場合、シリアル化されるオブジェクトにオブジェクト グラフ内の関連オブジェクトがある場合、それらのオブジェクトもシリアル化されます。XML シリアル化は関連オブジェクトをシリアル化しません。」

Automapper は、次のようなすべての配管ステートメントを記述するのではなく、プロパティを自動的にマッピングすることによって機能します。

dto.id = entity.id;
...
all other dto assignment operations

配管コードの量が増えるのがすぐにわかるので、特にビュー クラスと dto オブジェクトがある場合は、コードのかなりの量を節約できます。私の知る限り、オートマッパーは、エンティティと DTO の間で名前が同じであり、これらのプロパティのタイプ間でマッピングできる場合にのみ機能します。dto とエンティティがデータを別の型に格納する場合でも、型間の変換のためのマッピング ルールを追加できます。

回答 2: オブジェクトを DTO に変換し、上位層で変更する場合、エンティティ フレームワークを使用してオブジェクトを保存する方法を教えてください。通常は、これらを関連するエンティティに戻すか、新しいエンティティを作成して、これらの変更を送信するだけです。

于 2010-01-08T17:27:02.060 に答える
0

RIA Servicesを見たいとします。これだけのために作られています。

于 2010-01-08T17:15:19.837 に答える