問題タブ [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.
c# - Automapper: int をハイドレートしますか? 条件に基づく
次のコードがあります。
これは基本的にint?
、値がの場合null
を水和しallowOverride = true
、フィールドの値をチェックせずに値を水和します。
Automapperでこれを行うにはどうすればよいですか?
ここに示すように .Condition() を使用できることを知っています。
しかし、次の方法がわかりませんでした。
- に基づいてロジックを
int?
1 つずつ定義せずに適用します。 allowOverride
マッパーにブール値を含めます。
c# - AutoMapper と調整?
自動マッパーを使用してリストを調整するにはどうすればよいですか?
たとえば、与えられたクラス
そして超充実のクラス
この質問のために(私の実際の要件は少し異なります)。SomeAggregate のインスタンスを別のインスタンスにマップする必要があります。AutoMapper を使用したいのですが、EntityEnumeration
入力方法をカスタマイズする必要があります。
これは私が達成しようとしているものです:
* MISSING LOGIC *以下をチェックするコードに置き換える必要があります:
- null の場合、RHS をすべてコピーします。
- null でない場合は、LHS に同じメンバーがあるかどうかを確認し
Id
、そうでない場合は RHS からメンバーを追加します。 - LHS に同じ がある場合は、一致するエンティティのプロパティを
Id
更新するだけです。Name
- LHS に
Id
RHS に存在しない がある場合はId
、LHS から を削除します。
この種の比較を行うために、同じラムダ デリゲートで LHS と RHS のインスタンスを取得できないため、どこから始めればよいかさえわかりません。少なくとも組み込みオプションのどれも、この種のマッピングを行うことができないようです。これはかなり一般的な使用例だと思います。
助けてください。
flatten - 派生型プロパティを使用した Automapper の平坦化
オートマッパーを使用して、WS からのオブジェクトを平坦化しています。単純化されたモデルは次のようになります。
オートマッパーを使用して、これを次のように平坦化しようとしています:
次のマッピングで:
上記のマッピングは ProductRate をマッピングしません。 Atm AfterMap を使用しました:
これはかなりうまく機能しますが、オートマッパーの平坦化の可能性 (名前によるマッチング) を再利用できれば、多くの場所でアフター マップを適用する必要はないと考えました。
注: WS を変更することはできません。これは、オブジェクト階層のほんの一部です。
アドバイスをいただければ幸いです。
c# - すべてのソース プロパティに宛先プロパティがあるかどうかを Automapper に確認させる方法
2 つのクラスがあります。
およびマッピング構成
Automapper がすべてのソース プロパティに対応する宛先プロパティがあることを自動的にチェックする可能性はありますか。私の例では、Foo.Cプロパティが何にもマップされていないことを通知する例外をスローしています。Mapper.AssertConfigurationIsValid()は逆方向にのみチェックします。すべての宛先プロパティにソース プロパティがあるため、私の場合は役に立ちません。
mapping - ConstructUsing 保護されたコンストラクター
デフォルトでは、Automapper は保護されたコンストラクターをマッピングに使用できます。ただし、最も適切なパラメーターを持つものを取得して使用するだけです。どの保護コンストラクターを使用するかを Automapper に伝えるにはどうすればよいですか?
c# - ValueFormatter を使用した AutoMapper
AutoMapper の使用方法を学んでいますが、ValueFormatter での使用に問題があります。
NameFormatter で使用できないコンソールの簡単な例を次に示します。
ここで何が欠けていますか?AutoMapper はバージョン 2.2.1 です
c# - AutoMapper で条件付きマッピングを構成する方法は?
次のエンティティ(クラス)があるとします
ここで、自動マップを構成して、Value1 が「A」で始まる場合は Value1 を Value にマップしますが、それ以外の場合は Value2 を Value にマップします。
これは私がこれまでに持っているものです:
ただし、以前の条件が失敗した場合にAutoMappers.Value2
に実行するように指示する方法は、まだわかりません。
API の設計が不十分だったように思えますが、私の知識不足が邪魔をしているのかもしれません。
c# - AutoMapper 非破壊リスト調整?
ソースに対して調整したいターゲット オブジェクトのリストがあります。
リストは既に作成されています。リストを新しいオブジェクト参照に設定する必要はありません。これどうやってするの?
これは、ターゲット オブジェクトが ORM で生成されたコードであり、何らかの理由でセッターがないためです。
ターゲットは次のようになります。