問題タブ [automapper-5]
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.
automapper - Automapper v5.0 から v4.0 のコードを書き直します
Automapper v4.0 は、メソッド内で使用するのが非常に簡単でした。誰かがこれを v5.0 用に書き直すのを手伝ってくれませんか (具体的には Mapper コード):
更新: EF Core は、AutoMapper がマッピングしているものを投影していないようです:
しかし、次のコードを使用して Postman で結果を取得します。
c# - コレクションが AutoMapper (5.x) でマップされない原因は何ですか?
これには少しコードが必要になるので、ここで説明します。次のコードでは、Case Insureds コレクションが Request Insureds コレクションにマップされていないのはなぜですか? 私は朝の大部分をこれを機能させるために費やしました。
ケースクラス:
リクエストクラス:
プログラムのクラス:
ありがとう、スティーブン
generics - オープン ジェネリックを使用して自動マッピングし、ForMember ステートメントにソースを含める
最近、Automapper 4.2.1 から 5.1.1 にアップグレードしましたが、オープン ジェネリックを含む以前の有効なマッピングで問題が発生しています。
以前は、automapper 構成内で、次のオープン汎用マッピング構成がありました。
これは Automapper 4 では機能しますが、InvalidOperaionException
経由でマッピングしようとすると5 で失敗しますIMapper.Map<TDestination>(source)
。アイテム 操作のマッピングを実行すると、「シーケンスには一致する要素が含まれていません」ForMember
という例外メッセージが表示されて失敗するようです。
以下の実装コードの例に反映されているように、
IPager<TSource>
implementsIEnumerable<TSource>
と のItems
プロパティはModelPager<TDestination>
であるIEnumerable<TDestination>
ため、キャストは有効である必要があります。TSource
そして、それぞれに有効なマッピングが存在しますTDestination
IPagerインターフェイス
IPager の実装
モデルページャー
Automapper 5 でこれをマップする適切な方法は、可能な各マッピングを明示的にマッピングすることによってオープン ジェネリックを放棄するか、すべてのプロパティを手動でマップし、リフレクションを使用してオープン タイプを解決する必要があるカスタム オープン ジェネリック型コンバーターを使用することです。割り当て?
automapper-5 - Automapper における IMapper と IMappingEngine の違い
私はIMapper
次のように構成されているものを使用しています:
そして、これは次のように注入されます。
しかし、単体テストについては、ネットで pple が参照していることがわかりIMappingEngine
ます。
いくつかの質問を聞きたいんです。
の名前空間は
IMappingEngine
何ですか?次の名前空間を調べましたが、見つかりませんでした。
他のナゲットパッケージがありませんか? 1つだけ見つかりました-AutoMapper :(
さらに重要なことは、違いと、いつどちらを使用するかを知りたいということです。誰かがいくつかの簡単なコード サンプルとリンクを共有できますか。
c# - Automapper 5 で多くのプロパティを 1 つのリストにマップすることは可能ですか?
私はネイティブの英語ではないので、すでに重複した質問がある場合は申し訳ありません.
私はリクエストクラスを持っています:
次の場所にマップされます:
mainCar set carType=EnumCarType.Main からマッピングする場合のようなオプションを使用するか、それ以外の場合は EnumCarType.Other を指定します。
それは Automapper 5 で動作しますか?
c# - Automapper v5.1.1 - 循環参照
これは重複した質問としてフラグが立てられている可能性があることを知っています。はい、すでに私の質問に回答している可能性のある質問を確認しましたが、まだ回答が見つかりませんでした.
他のほとんどの質問が関連しているように、私の問題は相互に参照するモデルに関連しています。コードをリファクタリングして子用に個別の DTO オブジェクトを作成するなど、従うことができる他のアプローチをよく知っています。問題は、かなりの数のモデルがあり、すべてをリファクタリングするのは非常に面倒なことです。
Automapper v5.0 アップグレード ガイドを読みましたが、次のように記載されています。
私が試したもの-たとえばClientModel
:
Project
モデルと同様に:
構造は次のとおりです。
- クライアント
- プロジェクト(各クライアントには多くのプロジェクトがあります)
- リソース (各プロジェクトにはプロジェクト マネージャーがいます)
- プロジェクト (彼/彼女が取り組んでいる 1 つ以上のプロジェクトに関連付けられている)
- クライアント (クライアントに関連付けられている/マネージャーとして機能する)
- リソース (各プロジェクトにはプロジェクト マネージャーがいます)
- プロジェクト(各クライアントには多くのプロジェクトがあります)
しかし、これは何の効果もありませんStackOverflowException
。私は何が欠けているか、間違っていますか?
これがうまくいかない場合は、提案をお待ちしています。
どうもありがとう!
c# - リゾルバーが「エラーマッピングタイプ」をスローするオートマッパー
Automapper を使用してマップする必要があるプロパティとして、別のクラス内にクラスがあります。source クラスのプロパティを destinationMember プロパティにマップするリゾルバーを作成しました。以下のロジックは機能していません。
次のエラーが表示されます。
エラー マッピング タイプ。
マッピング タイプ: SubscriberDTO -> Subscriber ConsoleAutomapperTestHarness.SubscriberDTO -> ConsoleAutomapperTestHarness.Subscriber
タイプ マップ構成: SubscriberDTO -> Subscriber ConsoleAutomapperTestHarness.SubscriberDTO -> ConsoleAutomapperTestHarness.Subscriber
プロパティ: SubscriberSettings
c# - Automapper (5.1.1) ForAllMembers - 現在のプロパティの名前を取得する
これが私の問題Condition
です。現在評価されているプロパティの名前を取得したいのです。Automapper の以前のバージョンでこれを行うことができると思います。助言がありますか?