問題タブ [automapper]

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 に答える
829 参照

silverlight - AutoMapper - クラス ライブラリ内のオブジェクトを Silverlight クラス ライブラリ内のオブジェクトにマッピングする

automapper を使用して、クラス ライブラリ内のオブジェクトのリストを Silverlight クラス ライブラリ内のオブジェクトのリストにマップしようとしています。AutoMapper が Silverlight クラス ライブラリを反映しようとしているため、セキュリティ例外が発生します。

誰もこれを回避する方法を知っていますか?

0 投票する
5 に答える
63568 参照

constructor - Automapper - プロパティ セッターの代わりにコンストラクター パラメーターにマップする方法

宛先セッターがプライベートの場合、宛先オブジェクトのコンストラクターを使用してオブジェクトにマップしたい場合があります。Automapper を使用してこれを行うにはどうすればよいでしょうか。

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

c#-3.0 - C#2.0構文のAutoMapper

AutoMapperを使用してカスタムマッピングを作成しようとしていますが、ラムダで3.0構文を使用できません。この3.0コードを2.0に変換するにはどうすればよいでしょうか。

編集:

これ以上の解決策はなかったため、現在、1つのワークステーションでvs2008を使用して、これらのマッピングを作成し、dllを構築しています。vs2010にアップグレードするまで長くはかからないことを願っています。

0 投票する
3 に答える
1572 参照

c# - AutoMapper:メンバー名の一致規則を設定する

「Id」で終わるソースメンバーがIdなしの宛先メンバーにマップされるように、メンバー名マッピング規則を設定してみました。例えば

UserId->ユーザー

どのようにこれを行うのですか?SourceMemberNameTransformerを使用してみましたが成功しませんでした。また、RecognizePostfixes()を使用してみました。

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

c# - Automapperは、宛先プロパティにプレフィックスがなく、カスタムマッピングがない場合でも、複雑なソースグラフをフラットな宛先にマップできますか?

Automapperに次のような複雑なソースグラフをマッピングさせる方法はありますか?

次のようなフラットな目的地へ

私はこのようなものが目的地のために働くことを知っています:

ただし、ソースの子クラスプロパティの名前が宛先プロパティ名と一致する限り、宛先プロパティ(ソースの子クラスの)にプレフィックスを必要とせずに宛先にマップする方法を探しています。個々のメンバーをマッピングせずに、ソースの子クラスのプロパティをフラットな宛先クラスに投影するようにAutomapperに指示する方法はありますか?

0 投票する
2 に答える
1950 参照

asp.net-mvc - ASP。NET MVC: エンティティをビュー モデルにマッピングする

ビュー モデルを使用して、ASP.NET MVC プロジェクトのアクション メソッドをクリーンアップしようとしています。現在、私のビュー モデルには、他のエンティティとの関係を持つ可能性のあるエンティティが含まれています。たとえば、ContactViewModel クラスには Contact があり、これには Address があり、どちらも別個のエンティティです。Contact オブジェクトのリストを照会するには、次のようにします。

この方法は、いくつかの問題を引き起こします。たとえば、リポジトリは using ステートメント内でクエリされます。ビューがレンダリングされるまでに、コンテキストは範囲外になり、ビューは Contact に関連付けられた Address を照会できなくなります。熱心な読み込みを有効にすることもできましたが、そうしないほうがよいでしょう。さらに、エンティティ モデルがビューに染み込んでいるのが気に入りません (ビューが Contact と Address の関係を認識しているのは悪い考えだと思いますが、私に異議を唱えることは自由です)。

Contact エンティティと Address エンティティの両方のプロパティを含むファット クラスを作成することを検討しました。次に、Contact エンティティと Address エンティティを新しいフラット化されたオブジェクトに射影できます。このアプローチに関する私の懸念の 1 つは、アクション メソッドが少し忙しくなる可能性があり、AutoMapper が 2 つ以上のオブジェクトを 1 つの型にマップできないと思うことです。

私の懸念を克服するためにどのようなテクニックが好まれていますか?

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

c# - AutoMapper でこの親子関係をどのようにマッピングできますか?

LINQ to SQL エンティティから派生した親オブジェクトと子オブジェクトがあります。これらをいくつかのドメインフレンドリーな DTO にマップしたいと考えています。私の SQL エンティティ クラスは次のようになります。

SqlEntityParentこのモデルでは、との間の標準的な 1 対多の関係SqlEntityChildです。いくつかの代表的なデータは...

親:

子:

次に、これらのデータを次のようなドメイン オブジェクトにマップします。

この構造では、1 つのDomainChildオブジェクトが 2 つのオブジェクトのデータで構成されSqlEntityChild、グループ化はPosition子エンティティの値によって決定されます。したがって、これらのサンプル データは、 2 つのオブジェクトDomainParentのリストを持つ1 つのオブジェクトを表しDomainChildます。最初の子にはPosition、1 のContents値、"Things" のGroup値、および "GroupOne" の値が必要です。2 番目の子にはPosition、2 の 、Contents「Things」の 、およびGroup「GroupTwo」の が必要です。

ValueResolvers を使用して AutoMapper で 1 対 1 のカスタム マッピングを設定することに満足していますが、これを処理する最善の方法がわかりません。以下のリゾルバーと、1 回のパスで子エンティティのリスト全体をマップする親エンティティの関連付けられたマッピングを作成しましたが、このリゾルバー クラスで子オブジェクトのマッピング全体を手動で行う必要があるため、間抜けに思えます。

ですから、私の主な質問は次のとおりです。これは、この状況で AutoMapper を使用して実行できる最善の方法ですか、それとも他に使用できるより効果的な方法はありますか?

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

enums - AutoMapper: 具体的なサブクラスの Source プロパティを Destination クラスの EnumValue にマップする

次のクラスのマッピング (または TypeConverter/Resolver も) を定義したいと思います。

ソース:

具体的な Source Type に応じて Destination クラスの DestinationEnum の宛先値を指定したい場合、AutoMapper マッピングはどのようになりますか? 例えば

  • マッパーがクラス "Source" から "Destination" にマップする場合、Source.SourceEnumVal == fu の場合、Destination.EnumProperty を "undefined" に設定する必要があります。
  • マッパーがクラス "source" から "Destination" にマップする場合、Source.SourceEnumVal == "ba" の場合、Destination.EnumProperty を "oneValue" に設定する必要があります。
  • マッパーがクラス "ConcreteSource" から "Destination" にマップする場合、ConcreteSource.ConcreteSourceEnumVal == "second" の場合、Destination.EnumProperty を "oneValue" に設定する必要があります。
  • マッパーがクラス "ConcreteSource" から "Destination" にマップする場合、ConcreteSource.ConcreteSourceEnumVal != "second" の場合、Destination.EnumProperty を "undefined" に設定する必要があります
0 投票する
2 に答える
1873 参照

c# - DTO とエンティティの使用は DRY 原則に違反していますか?

Automapperというライブラリを見ていました。これにはいくつかの懸念があります。

  1. データモデルを公開したくありません (GOOD)。データモデルが DB によく似ている必要があるのはなぜですか?

  2. エンティティの代わりに軽量 DTO を使用します。(良い)

  3. ここで、エンティティをこれらの DTO にマップする必要があります。DRYの原則を尊重していますか??

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

asp.net-mvc - Asp.Net MVC + NHibernate + ウィジェット プラグイン アーキテクチャ

更新しました:

これは私の元の質問 (または不足) から書き直したものです。現在私が抱えている主な問題は、ウィジェット ドメイン モデルを正しい ViewModel にマッピングするときに、このようにしなければならないことです。正しい解決策...

BaseClass を渡しているため (正しい型を安全にダウンキャストできることはわかっていますが)、正しいクラスを使用して Widget ビューモデルをマップするために大きな switch ステートメントを実行する必要があります。

使用する正しいクラスを自動的に取得できるように、これをより動的にする必要があります。ジェネリック/リフレクションを使用してこれを行う方法があると確信しています。これについて考えていると思われる場合は、提案をお待ちしています間違った道。