問題タブ [emitmapper]

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

c# - エミットがリフレクションより速い理由

私はエミットとそれがリフレクションよりもはるかに高速であることについて多くのことを読んできましたが、その理由を見つけることができませんでした. エミットが IL コードを注入していることは理解していますが、ORM のようにプロパティ マッピングを行う場合、これがリフレクションよりも速いのはなぜですか?

この種の使用例を参照してください: エミット マッパーと valueinjecter または automapper のパフォーマンス

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

emitmapper - エミットマッパーに継承を認識させる

クラスの最も派生したマッピングを選択できるように、オブジェクトの階層をemitmapperに認識させようとしています。これらのクラスがあるとしましょう

そして、それぞれの DTO (PaymentDTO、GuarantePaymentDTO など) と、マップしたいオブジェクトには Payment のコレクションがあり、それぞれが Payment 自体を含む Payment から派生した任意のタイプであり、ターゲットはそのオブジェクトの DTO であり、もちろんPaymentDTOのコレクション。何も構成しない場合、emitmapper は常に基本型を作成してマップします。最も派生した型を認識させる最善の方法は何ですか?

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

c# - EmitMapper - 抽象モデル オブジェクトから抽象 DTO への一般的なマッピング

ValueInjecterからEmitMapperへの移行に助けが必要です(パフォーマンス上の理由からそうすることにしました)。私の使用例は、最も一般的なものの 1 つです。いくつかのルールに基づいて、モデル オブジェクトを DTO にマッピングします。

この規則の 1 つは、プロパティの型が DomainObject のサブクラスである場合、対応する DTO にマップする必要があるということです。具象型は問題ありませんが、抽象型でも機能するようにしたいと考えています。問題は、どの DTO を動的に使用する必要があるかを EmitMapper に伝える方法がわからないことです。

ValueInjecter コード内:

私の DTO はすべてインターフェイスを実装しているので、DTO<>EmitMapper のメソッドを使用できると思っていましたが、方法がわかりDefaultMapConfig.ConvertGenericません。

完全を期すために、現在の(機能していない)コードを含めます。

テストでこのマッピングを使用しようとすると、次の例外が発生します

編集:これは、マップしたいオブジェクトの例です。

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

c# - IList を使用した EmitMapper と ValueInjecter

AutoMapperFasMapperValueInjecter、およびEmitMapperのパフォーマンス テストを実行していますが、型のリストをマップしようとすると、 EmitMapperValueInjecterでのみ問題に直面していますIList<T>

それは私がすべてのマッパーに使用するコードです:

それはEmitMapperの私のアダプター実装です:

それはValueInjecterのためです:

メソッドを保持する単一のインターフェースがありますAdapt<TSource, TTarget>(TSource source)

私は何を間違っていますか?AutoMapperFastMapper でも動作します! 変更するList<T>と、すべてのマッパーで機能します。