問題タブ [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 5.x は ResolutionContext で MemberName をサポートしなくなりました
以前のバージョンの AutoMapper では、特定のメンバーを条件付きでマップする/マップしないための汎用 PreCondition を作成しました。以下のコードに示すように、メンバー名の配列を Map オプションに追加し、現在マップされているメンバーに対してこのリストをチェックすることで、これを実現しました。
残念ながら、MemberName は ResolutionContext で公開されなくなったため、現在どのメンバーがマップされているのかわかりません。新しいスリム化された ResolutionContext には、この情報につながるものは何も見つかりませんでした。
多くの特定の PreCondition ケースを記述できることはわかっていますが、これを無数の型に使用しています。現在の MemberName を取得する他の方法を知っている人はいますか?
c# - AutoMapper 5 への移行 - 循環参照
System.StackOverflowException
以前は AutoMapper 4 で動作していた AutoMapper 5 で何かをマップしようとすると、問題が発生します。
少しグーグルで調べたところ、循環参照が原因であることがわかりました。
AutoMapper のドキュメントには次のように書かれています。
以前は、AutoMapper はマップされたものを追跡することで循環参照を処理でき、すべてのマッピングで、ソース/宛先オブジェクトのローカル ハッシュテーブルをチェックして、項目が既にマップされているかどうかを確認していました。この追跡は非常にコストがかかることが判明したため、循環マップを機能させるには PreserveReferences を使用してオプトインする必要があります。または、MaxDepth を構成できます。
そのため、コードに追加.MaxDepth(3)
したところ、再び機能するようになりました。
ただし、実際の問題と、行を追加して何をしたかはわかりません:)
私の質問:
- Category/CategoryDto に関する「循環参照」とは何ですか?
- 正確には何
.MaxDepth()
ですか?サンプルで 3 が使用されているのはなぜですか? - 何
.PreserveReferences()
のためですか?
c# - Automapper 5.0.2 でのタイプ マップ構成の欠落またはサポートされていないマッピング
OData API で AutoMapper を使用しています。同じタイトルの質問が多数見つかり、すべての解決策を試しましたが、問題が解決しません。最新の AutoMapper バージョン 5.0.2 を使用しています。どこが間違っているのか教えてください。
これが私のコードです:
Startup.cs
AutoMapperWebConfiguration.cs
ContractTypeController.cs
ありがとうございました
c# - Automapper 式エラー: Null 参照/エラー マッピング タイプと ReverseMap
AutoMapper を使用して式の 2 つのモデル間をマッピングしようとしていますが、AutoMapper から次のエラーが表示されます。
Github の wiki に従って、構成をセットアップし、マッピングを定義しました。
以下は、バージョン AutoMapper 5.1.1 を使用してエラーを生成する非常に単純化された例です。
マッピングするモデル
注: Model1 から Model2 にマップするだけです。
構成:
使用法:
上記の model2Expr 変数を宣言する行でエラーを受け取ります。
エルマーからのエラー:(
重要: 同僚は、(ReverseMap または 2 つの個別の CreateMap ステートメントを使用して) 双方向マッピングが定義されている場合、またはマッピングが Expression 型の間であると明示的に定義されている場合、エラーは発生しないことに注意しました。上記の Expression Translation リンクでは、モデル間の双方向マッピングが定義されていますが、その必要性については明示的に言及されていません。
質問:
どういうわけか構成やマップ定義を台無しにしていますか、それとも式でオブジェクト間をマッピングするときに双方向マッピング定義が必要であり、wiki はそれを明示的に述べていませんか?
更新: AutoMapper GitHub で問題をオープンしました。今のところそうらしい
はい、式の変換を行うときの順序は逆です。
基本的にこれは、式間をマッピングしたい場合、目的のマッピングの反対方向にマッピング定義を作成することを意味します。
automapper-5 - Automapper 5 は、読み取り専用プロパティで定義されたコレクション コレクションをマップしません
Automapper 5.1.1 にアップグレードすると、読み取り専用プロパティで定義されたコレクションのマッピングが機能しなくなりました (これは、Automapper 4.2.1 を使用すると完全に正常に機能します)。
Automapper の両方のバージョンを使用して、動作の変更を確認できるサンプル コードを次に示します。automapper 5.1.1 では、result.MyList に要素がありません。
Automapper 5.1.1 を使用してマップを正しく機能させるにはどうすればよいですか?
c# - ネストされた型を持つ型から型への AutoMapper マッピング
インスタンスAPIを備えた最新バージョンを使用しています。
私のソースタイプ:
私の目的地のタイプ:
私の設定(プロファイルで行われます):
しかし、これは内部オブジェクトをマップしません。構成をテストすると、役に立たないAutoMapperConfigurationException
例外がスローされます。
このマッピングを機能させる適切な方法は何ですか?
asp.net-core - Automapper 5.1 のセットアップ
この場合、ウィキをフォローするのに問題があります。Automapper 5.2 を使いたかったのです。コンテキスト付きのしっかりした構成を示す単純なエンド フォー エンドの例が見つかりません。コンテキストとは、構成ファイルをどこに置くのか、静的 API とインスタンス API の違いは何ですか?
DNRTV のダウンロードを確認しましたが、1.0 バージョンを扱っています。
このパッケージをどのように設定しますか? 以下のように Client というモデルがあります。
および ClientViewModel は次のようになります。
構成に関して AutoMapper を設定する方法がわかりません。つまり、彼らはglobal.asaxファイルについて話し、私はaspnetコアを使用しています.Global.asaxファイルはありません..
何かあれば、Startup.cs ファイルに何を入れますか。
上記の 2 つのファイルに対して、Automapper を使用するには何をする必要がありますか?
よろしく