問題タブ [automapper-2]

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.

0 投票する
1 に答える
509 参照

c# - Automapper: int をハイドレートしますか? 条件に基づく

次のコードがあります。

これは基本的にint?、値がの場合nullを水和しallowOverride = true、フィールドの値をチェックせずに値を水和します。

Automapperでこれを行うにはどうすればよいですか?

ここに示すように .Condition() を使用できることを知っています。

Automapper の条件が無視される

しかし、次の方法がわかりませんでした。

  1. に基づいてロジックをint?1 つずつ定義せずに適用します。
  2. allowOverrideマッパーにブール値を含めます。
0 投票する
0 に答える
143 参照

c# - AutoMapper と調整?

自動マッパーを使用してリストを調整するにはどうすればよいですか?

たとえば、与えられたクラス

そして超充実のクラス

この質問のために(私の実際の要件は少し異なります)。SomeAggregate のインスタンスを別のインスタンスにマップする必要があります。AutoMapper を使用したいのですが、EntityEnumeration入力方法をカスタマイズする必要があります。

これは私が達成しようとしているものです:

* MISSING LOGIC *以下をチェックするコードに置き換える必要があります:

  1. null の場合、RHS をすべてコピーします。
  2. null でない場合は、LHS に同じメンバーがあるかどうかを確認しId、そうでない場合は RHS からメンバーを追加します。
  3. LHS に同じ がある場合は、一致するエンティティのプロパティをId更新するだけです。Name
  4. LHS にIdRHS に存在しない がある場合はId、LHS から を削除します。

この種の比較を行うために、同じラムダ デリゲートで LHS と RHS のインスタンスを取得できないため、どこから始めればよいかさえわかりません。少なくとも組み込みオプションのどれも、この種のマッピングを行うことができないようです。これはかなり一般的な使用例だと思います。

助けてください。

0 投票する
1 に答える
1070 参照

flatten - 派生型プロパティを使用した Automapper の平坦化

オートマッパーを使用して、WS からのオブジェクトを平坦化しています。単純化されたモデルは次のようになります。

オートマッパーを使用して、これを次のように平坦化しようとしています:

次のマッピングで:

上記のマッピングは ProductRate をマッピングしません。 Atm AfterMap を使用しました:

これはかなりうまく機能しますが、オートマッパーの平坦化の可能性 (名前によるマッチング) を再利用できれば、多くの場所でアフター マップを適用する必要はないと考えました。

注: WS を変更することはできません。これは、オブジェクト階層のほんの一部です。

アドバイスをいただければ幸いです。

0 投票する
1 に答える
1123 参照

c# - すべてのソース プロパティに宛先プロパティがあるかどうかを Automapper に確認させる方法

2 つのクラスがあります。

およびマッピング構成

Automapper がすべてのソース プロパティに対応する宛先プロパティがあることを自動的にチェックする可能性はありますか。私の例では、Foo.Cプロパティが何にもマップされていないことを通知する例外をスローしています。Mapper.AssertConfigurationIsValid()は逆方向にのみチェックします。すべての宛先プロパティにソース プロパティがあるため、私の場合は役に立ちません。

0 投票する
0 に答える
288 参照

mapping - ConstructUsing 保護されたコンストラクター

デフォルトでは、Automapper は保護されたコンストラクターをマッピングに使用できます。ただし、最も適切なパラメーターを持つものを取得して使用するだけです。どの保護コンストラクターを使用するかを Automapper に伝えるにはどうすればよいですか?

0 投票する
1 に答える
2388 参照

c# - ValueFormatter を使用した AutoMapper

AutoMapper の使用方法を学んでいますが、ValueFormatter での使用に問題があります。

NameFormatter で使用できないコンソールの簡単な例を次に示します。

ここで何が欠けていますか?AutoMapper はバージョン 2.2.1 です

0 投票する
4 に答える
60394 参照

c# - AutoMapper で条件付きマッピングを構成する方法は?

次のエンティティ(クラス)があるとします

ここで、自動マップを構成して、Value1 が「A」で始まる場合は Value1 を Value にマップしますが、それ以外の場合は Value2 を Value にマップします。

これは私がこれまでに持っているものです:

ただし、以前の条件が失敗した場合にAutoMappers.Value2に実行するように指示する方法は、まだわかりません。

API の設計が不十分だったように思えますが、私の知識不足が邪魔をしているのかもしれません。

0 投票する
1 に答える
103 参照

c# - AutoMapper 非破壊リスト調整?

ソースに対して調整したいターゲット オブジェクトのリストがあります。

リストは既に作成されています。リストを新しいオブジェクト参照に設定する必要はありません。これどうやってするの?

これは、ターゲット オブジェクトが ORM で生成されたコードであり、何らかの理由でセッターがないためです。

ターゲットは次のようになります。