問題タブ [automapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - プロパティ名が異なる場合のAutomapperの使用
CodeplexのAutoMapperを使用しています。私にとって、宛先オブジェクトには「Field」で終わるすべてのプロパティがあります。つまり、cityFieldであり、ソースオブジェクトにはcityだけがあります。
以下のコードを使用して実現できますが、すべてのプロパティには「Field」という接尾辞が付いており、20個のプロパティがあります。
マッピング時に「Field」という単語を無視して、.ForMember()を20回使用せずにマッピングできるようにする他の方法はありますか?
arrays - オートマッパーを使用して、x 型の単一オブジェクトを y 型のオブジェクトの配列にマップする方法
ここで、defs は Def (Def[]) の配列です。
どのようにマッピングするのですか?
c# - 特定のマッピングのためにAutoMapperを使用してnull値をマッピングする方法は?
私はこの解決策を見つけましたAutoMapper-宛先文字列をnullに設定すると、実際にはstring.Emptyになります
ただし、Initializeメソッドを使用するため、すべてのマッピング動作がアプリに沿って変更されます:O
そして、私は特定のマッピングのためにそれをする必要があります。
c# - AutoMapper コンバーターが null 値で失敗する
注: この質問は現在古くなっているため、古いバージョンの AutoMapper にのみ適用されます。ここで言及されているバグは修正されています。
問題:
Nullable<bool>
/を受け取り、bool?
を返すAutoMapper コンバーターがありますstring
。これを自分のプロファイルにグローバルに適用しましたが、 と では機能しますが、 では機能しtrue
ませfalse
んnull
。
AutoMapper プロファイルには次のようなものがあります。
そして、ここにコンバータークラスがあります:
問題を示す例
質問:
- これはバグですか、それとも仕様ですか?
- 設計によるものである場合、このように動作する理由は何ですか?
- 回避策をお勧めできますか?
automapper - オートマッパーと不変性
AutoMapperを不変タイプで使用することは可能ですか?
たとえば、私のドメインタイプは不変であり、ビュータイプをこれにマップしたいと思います。
そうではないと思いますが、これを確認してほしいだけです。
また、ドメインタイプを不変にすることがベストプラクティスであるため、ビュータイプをドメインタイプにマッピングする際のベストプラクティスは何ですか?
dependency-injection - ジェネリック インターフェイスとクラス ペアのデフォルトの Unity タイプ マッピングを指定する
コンストラクターベースの依存性注入、AutoMapper、Unityをコードベースで使用しています。
汎用インターフェイスで AutoMapper をラップしました...
そして、このインターフェースを実装するクラス...
これはうまく機能しますが、AutoMapper 構成で定義するすべてのマッピングに対して、追加の を実行する必要があることを意味しますUnityContainer.RegisterType
。
これらの型マッピングは、ほとんどの場合、次の形式です。
Unity にデフォルトのタイプ マッピングを使用するように指示する方法はIMapper
ありAutomaticMapper
ますTSource
かTDestination
?
asp.net-mvc - POSTアクションでビューモデルをドメインモデルにマップする方法は?
ViewModel の使用と Automapper の利用に関するインターネットで見つかったすべての記事は、「Controller -> View」方向マッピングのガイドラインを示しています。ドメイン モデルとすべての選択リストを 1 つの特殊な ViewModel に取り、それをビューに渡します。それは明確で問題ありません。
ビューにはフォームがあり、最終的に POST アクションに入ります。ここでは、すべてのモデル バインダーが、[明らかに] 別のビュー モデルと共にシーンに登場します。[明らかに] 別のビュー モデルは、少なくともバインディングと検証のための命名規則の一部で、元のビューモデルに[明らかに] 関連しています。
それをドメイン モデルにどのようにマッピングしますか?
挿入アクションにすると、同じ Automapper を使用できます。しかし、それが更新アクションだったらどうでしょうか? リポジトリからドメイン エンティティを取得し、ViewModel の値に従ってプロパティを更新し、リポジトリに保存する必要があります。
補遺 1 (2010 年 2 月 9 日):モデルのプロパティを割り当てるだけでは不十分な場合があります。ビュー モデルの値に従って、ドメイン モデルに対して何らかのアクションを実行する必要があります。つまり、いくつかのメソッドはドメイン モデルで呼び出す必要があります。おそらく、ビューモデルを処理するために、コントローラーとドメインの間に立つ一種のアプリケーションサービスレイヤーがあるはずです...
次の目標を達成するために、このコードをどのように整理し、どこに配置すればよいでしょうか?
- コントローラを薄く保つ
- SoCの実践を尊重する
- ドメイン駆動設計の原則に従う
- DRYになる
- つづく ...
linq-to-sql - AutoMapper は Linq をサポートしていますか?
遅延読み込み機能を備えた Linq to SQL に非常に興味があります。私のプロジェクトでは、AutoMapper を使用して DB モデルをドメイン モデルにマップしました (からDB_RoleInfo
へDO_RoleInfo
)。以下のように私のリポジトリコードで:
SelectAll
メソッドは正常に実行されますが、 を呼び出すSelectByKey
とエラーが発生します:
メソッド「RealMVC.Data.DO_RoleInfo MapDB_RoleInfo,DO_RoleInfo」を SQL に変換できませんでした。
Automapper が Linq を完全にサポートしていないということですか?
Automapper の代わりに、以下の手動マッピング コードを試しました。
この方法は、私が望むように機能します。
asp.net-mvc - ASP.net MVC:ビューまたはアクションでSelectListを作成しますか?
アクションまたはビューのどこでSelectListを作成しているのか疑問に思っています。
私は両方の例を見てきましたが、私にとって最も理にかなっているのは、アクションでそれを実行し、ビューモデルにSelectListタイプのプロパティを持たせることです。
一方、ビューモデルにSelectListのプロパティがあり、SelectListがビューモデル内に(コンストラクターまたは遅延読み込みを介して)入力されている例を見てきました。アクションに含まれるコードが少ないことを意味するので、このアイデアが好きです...
要するに、私は人々がATMを何をしているのか疑問に思っていました。
乾杯アンソニー
c# - AutoMapper - カスタム フォーマッタの追加
AutoMapper 1.0 RTW を使用し、いくつかのカスタム フォーマッタを追加しています。
宛先タイプは両方とも文字列であり、フォーマッタは個別に機能します。しかし、それらをまとめると、最初のフォーマッタだけが呼び出されます。この場合は「AlertTypeFormatter」です。
何か案は?