問題タブ [automapper-3]

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 投票する
3 に答える
4006 参照

c# - 列挙型のマップを作成するためにオートマッパーの型キャストを使用して式を作成する方法

私は2つのクラスを持っています:

source.Employee と destination.Employee 。

関数の宛先プロパティ名、つまりdestination.TestEnum1とソースプロパティ名、つまりsource.TestEnum1に2つの名前しかありません。

以下で述べたように、式を動的に作成したいと思います。

表現はあくまで

Project().To(); で Enum をマップするために作成しています。として

MyEnum2 を int 32 にマップできないという例外が発生します。

元の従業員:

宛先の従業員クラス:

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

asp.net-mvc-4 - Dto を ViewModel にマップできません

AutoMapper の最新バージョンを使用しています。

Mapper.CreateMap<ArticleDto, EditViewModel>();で呼び出されるオートマッパーブートストラップクラスに持って いますglobal.asax

同じものの完全なリストは次のとおりです。

以下のマッピングの何が問題なのかを理解するのに 2 時間近く費やしました。

これが私のコントローラーのコードです。

この Dto から ViewModel への変換は失敗します。

誰かがこれについて私を助けることができますか? 例外の詳細はこちら

これが Mapper.AssertConfigurationIsValid(); です。に結果

上記のエラーで述べたように、マッピングを更新する方法は次のとおりです

それでも、以下に示すのと同じエラーが発生します。

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

c# - Enumeration ごとに ITypeConverter を作成する

したがって、基本的に、列挙型マッピングで実行される TypeConverter を作成しようとしています。次のコード内のコメントは、私が現在抱えている問題を説明しています。

  • 文字列から Enum へのマップを行うと、TypeConverter が実行されます。
  • 文字列から状態(列挙) へのマップを行うと、TypeConverter は実行されません。

特定の列挙マッピング中に TypeConverter を実行できる唯一の方法は、名前空間内のすべての列挙のマップを作成するときです (CreateMapForEveryEnum() メソッド)。ただし、もちろん、リフレクションの使用はパフォーマンスに悪いため、避ける必要があります。

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

automapper - オートマッパーの ECCN

海外で使用するC# VS2012アプリを構築しています。私は Automapper を何年も使用しており、引き続き使用したいと考えています。私に渡された条件の 1 つは、Microsoft 以外の私のプロジェクトのすべてのアドオンには、公開された ECCN (輸出管理分類番号) が必要であるというものです。Microsoft は、.NET Framework 4.5 および Visual Studio 2013の公開された ECCNを持っています。これらは輸出に対して信頼されています。私はAutomapperの公開された ECCN を探していましたが、最も近いものは、Jimmy Bogard が .NET フレームワークでも同じであると個人的に回答したこの Google グループの記事です。しかし、Automapper から公開された ECCN を求められました。これには、次のような公式の内容が記載されています。

「Automapper の ECCN は: [x]」です。

Automapper GitHub サイトを見ましたが、必要なものが見つかりませんでした。

何か案は?

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

inheritance - オートマッパーによる継承

Automapper のドキュメントには、次のような継承の例があります。

同様のことをしたいのですが、ドメイン モデルで継承を使用したくありません。私はEntity Frameworkを使用しており、派生エンティティが多数ある場合(私は30個あります)、パフォーマンスが非常に悪いことがわかるまで、Entity Frameworkで継承を使用していました。この性能の問題がネット上で話題になっています。継承を取り除き、標準のリレーショナル モデルを使用したいのですが、Automapper で動作させるために何をする必要があるかわかりません。

上記の例を変更すると、私の状況は次のようになります。

したがって、ドメイン オブジェクトは継承を使用せず、標準のリレーショナル データベースのように相互にリンクするだけであることがわかります。ただし、DTO オブジェクトが継承を使用することを引き続き希望します。この例では Automapper をどのように使用しますか?

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

linq - Automapper ポリモーフィック コレクションで異なる IQueryable 拡張機能の動作

Automapper 3.3.1.0 を使用するMapper.Map<IEnumerable<TDestination>>(someEnumerable)と、someEnumerable.AsQueryable().Project().To<TDestination>()

これはメモリ内コレクションで見られるため、SQL LINQ プロバイダーなどの制限ではないようです。

多くの場合と同様に、これは例によって最もよく説明されます。

注: 次のコードはhttps://gist.github.com/kmoormann/b3949d006f4083ab6ee4にあります。

IQueryable 拡張機能には制限 があることは理解しています.Project().To<TDestination>が、私が気付いていないのは次のとおりです。

  • この動作を引き起こしている制限は何ですか?
  • これは Automapper の制限ですか、それとも LINQ の制限ですか
  • クエリ可能な拡張機能を引き続き使用し、Mapper.Map<TDestination>(obj)排他的に元に戻さない回避策はありますか?

後世のために:リンクディスカッション スレッド トピック

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

c# - コンストラクターで AutoMapper を使用して「this」にマップする方法

プロパティを持つソース タイプと、まったく同じプロパティを持つ宛先タイプがあります。

次のような AutoMapper の単純なマッピングを 1 つ構成した後:

MySourceType パラメーターを持つ MyDestinationType のコンストラクターが必要であり、作成中のタイプのプロパティを次のようなソースで自動的に初期化します。

私が見つけた唯一の回避策は、静的ファクトリメソッドを作成することです

この静的な醜さを持たない方法はありますか?