1

AutoMapper.orgを使用して、DTOオブジェクトをMVC4のModelオブジェクトにマップしています。DTOオブジェクトは、SOAPWebサービスから取得されます。サービスの操作は主にCRUDです。

これはうまく機能します。

2つの質問があります。まず、両方の方法でマッピングすることは悪い習慣ですか(2方向のマッピング)。では、画面上でモデルをDTOに更新するとき、およびDTOからモデルへの元のマッピングを更新するときはどうでしょうか。

2番目の質問、AutoMapperが列挙型をマップすることは可能ですか?

4

1 に答える 1

3

問題なく両方の方法でマップします。データを取得するためにDTOからビジネスオブジェクトにマップし、データを保存するために反対の方法でマップし直します。これは、WCFサービスで使用されるDTOを再利用できるようにするためです(CSLAフレームワークを使用しており、CSLAのデータポータルモデルでは、サードパーティがbizobjライブラリにアクセスせずにサービスを利用することはできません)。

これは、一部のビジネスロジックがWebレイヤーで繰り返されることを意味しますが、ルールがまばらであるため、これは大きな問題ではありません。

私の場合、それは悪いことではないと思います。私は非常に単純なデータモデルを持っていますが、ほとんどが読み取りであり、データが変更されるために戻ってくるのはたまにしかありません。

私の知る限り、列挙型はネイティブにマップされます(列挙型はその下のプリミティブであるため、列挙型に直接マッピングされていると仮定します)が、列挙型の問題を解決するため、または文字列解析を行う必要がある場合は、いつでも独自のカスタム型コンバーターを提供できます列挙型の場合。

于 2012-05-22T17:09:10.940 に答える