私は、以前の質問hereのいずれかに応答したため、AutoMapperを読んできました。
AutoMapperは複雑なドメインモデルを平坦化すると言われていますが、私はそれとは逆のことが必要です。ビューモデルをドメインモデルに素早く変換できるように、ビューモデル(フラットドメインモデル)を複雑なドメインモデルに配線する必要があります。
AutoMapperに似ていて、ビューモデルを取得して複雑なドメインモデルにするものはありますか?AutoMapperはドメインモデルを平坦化しますが、それは逆ですか?そうでない場合、何がありますか?
9
A
答えて
1
これは実際には非常に慣習的でなければならないためです。フラット化するときにパターンを識別するのは簡単ですが、もう一方の方法では...カスタムロジックがあまりにも多くなります。
4
してください。右手/左手のコーディングを行い、2つを一緒に同期させるMapToModelメソッドを作成します。
public MyModel MapToModel(MyViewModelForm vmf)
{
//new up MyModel model;
model.foo = vmf.foo;
return model;
}
アプリケーションがコード化されている場合、私たちは生活のために正確に何をしますか?
+2
:) – Omu
2
ValueInjecterはそれをしない、それは非常に使いやすいです:
//flatenning
personDto.InjectFrom<FlatValueInjection>(person);
//unflattening
person.InjectFrom<UnflatValueInjection>(personDto);
と
//this is just mapping without flattening/unflattening
foo.InjectFrom(bar)
関連する問題
- 1. 「そうでない場合」とそれが何を確認するか
- 2. ファイルが存在する場合はそれを返し、そうでない場合はfalseを返します。
- 3. 2>&2は意味がありますか?もしそうなら、それは何をしますか?
- 4. &&(and)の背後にあるロジックは何ですか?私たちはそう書いたりええ、それが動作する場合、それは動作しますが、我々は唯一そう書いた場合(または)このコードで
- 5. AutoMapper拡張メソッドを平坦化する
- 6. コロナsdkにタッチアンドホールドイベントがありますか?そうでない場合
- 7. Mysql:行が存在しない場合は挿入し、そうでない場合は更新します。より簡単なコマンドはありますか?
- 8. 何も行われていない場合、有効なコードですか?それで何ができますか?
- 9. msvcr80.dllの64ビット版はありますか?そうでない場合は、どうしてですか?
- 10. ScalaでFuturesがActorsよりも適切な場合(またはその逆)はいつですか?
- 11. スクロールチェックボックスがRecyclerViewでチェックされていない、またはその逆の場合
- 12. AutoMapper - モデルを表示するためにドメインモデルを平坦化します。 1つは多くの関係にあります
- 13. jq:できるだけ番号に変換する方法はありますが、そうでない場合はそのままにしますか?
- 14. TSpeedButtonを平坦化しますか?
- 15. thinktecture identitymanager3がない場合、それは可能ですか?
- 16. プロパティに明示的な戻り値がない場合、それは何を返していますか?
- 17. ember.jsはまだObjectControllerをサポートしていますか?そうでない場合は、それを置き換えるものは何ですか?
- 18. ffmpeg - 存在する場合は-map 0:m:language:engの方法がありますか?そうでない場合はデフォルトを使用しますか?
- 19. リスト、アップデートが見つかりましたが、そうでない場合
- 20. なぜPIGのUDFではなく「平坦化」されていますか?
- 21. jQueryが10未満の場合はこれを行い、そうでない場合は0を返します。
- 22. .hファイルが.cppファイルに含まれているのはなぜですか?その逆はありません。
- 23. Pythonでは、関数にreturn文がない場合、それは何を返しますか?
- 24. bashは常にBASH_SOURCE定義を提供する必要がありますか?そうでない場合、最も良い回避策は何ですか?
- 25. PasteDeployとは何ですか?PythonのEggsがなくなったと見なされる場合は、それを知る必要がありますか?
- 26. タスクが開始することがありますが、時にはそれはなぜですか?それを変更する方法はありますか?
- 27. 一部のクラスでブートストラップで動作しないメディアクエリがありますが、それ以外の場合は
- 28. 「角度ゾーンではないと予想されますが、それは何ですか?」エラー平均?
- 29. 入力がタイプチェックボックスである場合、jQueryがチェックしますか?入力がチェックボックスであるかどうか、そして次が動作しない場合
- 30. Ocamlでリストを平坦化するコードにエラーがあります
あなたはValueInjecter http://valueinjecter.codeplex.com/ – Omu