問題タブ [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 マージ/結合マッピング
これらのマッピングがあると仮定しましょう:
Dtos の継承:
DetailDto : BaseDto
UpdateDto : BaseDto
最初のマッピングを mapping2 と mapping3 にマージ/結合する方法はありますか?
このようなもの:
以下.Include
が機能しないため、関数は私が望むことをしていないようです:
更新:より具体的になるように質問を編集しました
c# - Bootstrapper.AutoMapper と Profile の登録順
AutoMapper 2.2.0 を使用して ASP.NET MVC 3 アプリケーションに取り組んでいます。いくつかの AutoMapper プロファイルを宣言しており、それらを手動で初期化すると、すべて正常に動作します。
しかし、Bootstrapper.AutoMapper 2.0.3.0 で初期化しようとすると...
...構成例外がスローされます:
プロファイルはCarrinhoToCarrinhoViewModel
プロファイルに依存しItemToItemViewModel
、初期化順序を変更すると
以前と同じ例外があります。
Bootstrapper が間違った順序でプロファイルを初期化しているのではないかと思いますが、Bootstrapper を放棄せずに解決する方法がわかりません。この問題に対する提案や解決策はありますか?
ありがとう
c# - AutoMapper 2.1.267.0 は単純な int をマップしませんか? 財産
私は次のクラスを持っています
ソース:
行き先:
NewBusinessSubmission クラスは、以下に示す PolicyTransaction クラスから継承します (はい、VB.NET です)。
以下のマッピング構成は、TermTypeId を設定しません。
これも機能しません:
Map を次のように呼び出します。
Set() メソッドに同様のコードを持つ他のすべてのプロパティは正しくマップされ、次のように TermTypeId を手動でマップすることもできます。
このプロパティが正しくマップされていない理由について何か考えはありますか?
ありがとう。
c# - WCFサービスからLINQプロジェクションを取得することは可能ですか?
Automapperには、予測を取得するための非常に優れた拡張機能があります。
アプリケーションのBLでは、次のようなメソッドを定義できます。
これにより、BLは非常にシンプルになります。投影バリアントごとに多くの異なるメソッドは必要ありません。
しかし...WCFサービスはオープンジェネリックをサポートしていません。
そのため、サービスクライアントがエンティティの必要なプロパティのみを取得できるようにするソリューションを探しています。
c# - 相互に派生した複数のビュークラスを持つソースクラスにAutoMapperを使用する方法
私の歴史は主にC/C ++ですが、最近c#/。netの世界に投げ込まれました。優しくしてください。
automapperを使用して、単一のドメインエンティティクラスを複数のビューにマップしようとしています。だから、それはこのようなものです:
これまでのところ、これを機能させる唯一の方法は、ベースビュークラス(LimitedView)からDeeperViewのマッピングクラスにマッピングをコピーして貼り付けることです。これは私の感覚を傷つけます。.Include <>も使用してみましたが、コンパイルエラーが発生します...
ご協力ありがとうございました!
c# - オートマッパーを使用して宛先オブジェクトを更新し、null 許容型のプロパティ値を null に設定します
ソースの null 許容型プロパティは無視され、宛先にコピーされないようです。
次のクラスを検討してください。
マッピング:
私が使用したときに機能しました:
しかし、プロパティごとに設定したくありません。グローバルに設定できますか? または、これを達成する他の方法はありますか?
c# - automapperを使用して1つのソースクラスを複数の派生クラスにマッピングする
ソースクラスがあるとします。
そして、いくつかの宛先クラス:
次に、派生した宛先クラスが基本クラスのオートマッパー構成を継承することを望みます。これを繰り返す必要がないためです。これを実現する方法はありますか?
このように書くと、ベースマッピングはまったく使用されず、includeは役に立たないようです。
編集:これは私が得るものです:
AutoMapper.AutoMapperConfigurationException:マップされていないメンバーが見つかりました。以下のタイプとメンバーを確認してください。
カスタムマッピング式を追加するか、無視するか、カスタムリゾルバーを追加するか、送信元/宛先タイプを変更します
ソース->DestinationDerived1(宛先メンバーリスト)
Test3
enums - null許容列挙型をnullにマッピングするときにAutoMapperがNullReferenceExceptionをスローする
AutoMapper がこのマッピングに対して例外をスローする理由がわかりません。
MyCustomEnum? PropName
例外は、プロパティが null 値にマップされた場合にのみ発生します。マッピングを行う方法は次のとおりです。
スローされる例外は、他の 2 つの AutoMapperMappingException をラップする AutoMapperMappingException です。4 番目で最後の InnerException は NullReferenceException です。スタック トレースは次のようになります。
繰り返しますが、例外は解決が必要な場合にのみ発生しますPropName == null
(たとえば、s.Val1
との両方s.Val2
が false の場合)。マッピングが null 以外の値を持つ列挙型に解決される場合、例外は発生しません。
これは AutoMapper の別のバグですか?
automapper - AutoMapper:MapFromとResolveUsingの違いは何ですか?
ResolveUsing
IValueResolverを使用するオーバーロードを無視し、次の2つのメソッドのみを確認します。
これら2つの主な違いは、MapFromがをとるのに対し、をとるということResolveUsing
です。Func<TSource, object>
Expression<Func<TSource, TMember>>
ただし、ラムダ式でこれらのメソッドの1つを実際に使用するクライアントコードでは、これらは交換可能であるように見えます。
では、最終的に上記の2つの選択肢の違いは何ですか?一方はもう一方よりも速いですか?一方が他方よりも良い選択であり、もしそうなら、いつ/なぜですか?
asp.net-mvc-3 - ランダムな「タイプ マップ構成が見つからないか、サポートされていないマッピングです。」オートマッパーのエラー
解決策については、この投稿を参照してください。
わかりました、私はついにそれを理解しました。コードの AppDomain.CurrentDomain.GetAssemblies() 部分がマッピング アセンブリを取得しないことがあるため、欠落している間にエラーが発生します。アプリにすべてのアセンブリを強制的に検索させることでこのコードを置き換えると、私の問題は解決しました。
私のエンティティ:
私のDTO:
私の構成
Global.asax Application_Start には次のものがあります。
そしてBootstrapperには次のものがあります:
私のアダプターはどこにありますか:
そして AdapterFactory は次のとおりです。
そのため、「型マップの構成が見つからないか、マッピングがサポートされていません」というメッセージがランダムに表示されます。エラーの指摘:
このエラーはランダムに発生しますが、デバッグして何が起こるかを確認するのは困難です。適切な解決策がなく、多くのことを検索しました。
エラーは次のようになります。
タイプ マップ構成が欠落しているか、サポートされていないマッピングです。
マッピング タイプ: Country -> CountryDTO MyApp.Domain.BoundedContext.Country -> MyApp.Application.BoundedContext.CountryDTO
宛先パス: リスト`1[0]
ソース値: MyApp.Domain.BoundedContext.Country
私のプロジェクトは、Automapper 2.2 と Unity IoC を使用した MVC 3 プロジェクトです。
アイデア、アドバイス、解決策をいただければ幸いです。回答に感謝します。