3

Domain Entities、DTO、および View Models と非常によく似たポイントから始めています。

ドメイン モデルと MVC の ViewModel をマッピングするために DTO を使用することをお勧めします。ドメイン モデル (Entity Framework ベースのプロジェクト) を WebAPI mvc プロジェクトにブリッジする方法の詳細を探しています。

MVC4 WebAPI プロジェクトに接続する単純な POCO (既存のデータベースをリバース エンジニアリングするために EF PowerTools によって生成されたもの) のプロジェクトから始めています。

ソリューションが進化するにつれて、ベースラインの POCO プロジェクトにビジネス ロジックを追加する予定であり、おそらくこれがこの問題の核心です。POCO を MVC プロジェクトにマップできるものに変換するビジネス ロジック。

EF プロジェクトのエンティティを認識している MVC プロジェクトでコントローラーの作成を開始できるように、これらのプロジェクトをどのように接続すればよいでしょうか? オートマッパー? Automapper のこの特定の機能が採用されている投稿/ドキュメントを指摘できますか?

4

1 に答える 1

1

EF エンティティを認識しているコントローラーは必要ありません。これが重要な点です。:)

あなた自身は、DTO を使用してドメインをビュー モデルにマップする必要があると言い、「ドメイン モデルを mvc コントローラーとブリッジするにはどうすればよいですか?」と尋ねます。あなたはすでにこれに答えています-DTOで!

DTO は、特定のビューを表示するために使用される複雑なビジネス オブジェクトとモデルの間のトランスポート層として機能します。これらには両方とも、「単なるデータ」に厳密には関係しない特別な要件があります。したがって、DTO を使用すると、関心の分離と分離が向上します。

ビュー モデルからドメインを分離しないと、ビュー モデル コードで EF オブジェクトを直接参照することを余儀なくされ、不要なデータと関数が "チェーンの上流" に公開されます。

WebAPI データは通常、ビュー モデル ロジックを実装していないため、データを送信する方法として WebAPI を使用する場合、通常は DTO を送信することで問題を解決できると思います。ただし、もちろん、コントローラーの使用方法に応じて、YMMV.

AutoMapper については、独自のドキュメントから始めるのが最善だと思います (DTO の例も使用しています): http://github.com/AutoMapper/AutoMapper/wiki/Getting-started

于 2012-07-27T08:26:53.780 に答える