問題タブ [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 に答える
1727 参照

c# - マッパーとジェネリックメソッドを放出する


データベースのプロパティを保存しようとすると、Emitマッパーに問題が発生します。
最初に私はこのクラスをマッピングしました(それはうまくいきます):

ここにマッピングしました:

ただし、一部の要件はstringプロパティを必要としません。だから私はこれを書くことにしました:

そして、すべてのマッピングが機能していません=(
ccanの場合は、助けてください。必要に応じて、必要な情報を提供できます

。PS正直なところ、文字列に転送して戻したいので、少なくとも機能します。

UPD:私は方法なしで試しましたpublic T GetValue<T>()...それは動作します...

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

c# - マッパーを発行します。オブジェクトを int に変換する


にマッピングしようとすると、問題が発生しobjectますint
変換する私のクラスとメソッド:

マップされたプロパティAgeが 0の場合profile:

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

nullreferenceexception - EmitMapper Flattering Config NullReferenceException

エンティティをDTOにマッピングするために、EmitMapperとEmitMapperサンプルのFlatteringConfigurationを使用しています。

問題は、ソース値がオブジェクトのプロパティである場合にNullReferenceExceptionが発生することです。これは、次のようになります。

UserをUserDTOにマッピングしています:var mapper = ObjectMapperManager.DefaultInstance.GetMapper<User, UserDTO>( new FlatteringConfig() );

var dto = mapper.Map(new User());

EmitMapperがCompanyIdを取得しようとすると、CompanyオブジェクトIdプロパティのゲッターが呼び出されますが、nullです。

どんな助けでも大いに活用されるでしょう。

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

entity-framework - EmitMapper + EF. コレクション マッピングの問題

ソースクラス:

宛先クラス

私が使うとき

エラーが発生しました

タイプ 'System.Data.Entity.DynamicProxies.Article_2F97D0440149ED4566ED7675640D475A23EB97002CFD5941610DD0C9BCE74E55' のオブジェクトをタイプ 'System.Collections.Generic.ICollection`1[SomeProject.Dal.Models.Articles.Article]' にキャストできません。

AutoMapper を使用すると、正常に動作します。

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

.net - エミット マッパーと valueinjecter または automapper のパフォーマンス

私はこの 3 つのマッパーを比較するのに時間を費やしましたが、emitmapper と valueinjecter または automapper のいずれか (最後の 2 つはパフォーマンスで比較可能) との間でなぜこれほど大きなパフォーマンスの違いがあるのか​​ということは興味深いことです。emitmapper ソリューションのベンチマーク テストから (1000000 回の反復):

また、追加されたemitmapper(10000回の反復)で実行されたvalueinjecterからのいくつかのベンチマーク:

最初にエミットマッパーテストがあり、毎回作成され、2番目にすべての変換に対して1つのマッパーが作成されました。

これを考慮して、値インジェクター (オートマッパーとしても) としての結果を、エミット マッパーよりも 100 倍遅くします。これほど大きなパフォーマンスの違いの理由は何ですか? 私にとって、オブジェクトからオブジェクトへのマッパーは、プロジェクトのボトルネックになるため(たとえば、オブジェクトのコレクションをマップする必要がある場合)、手書きのマッパーに比べてそれほど時間がかかりませんでした。

現時点では、エミットマッパーの使用を考えていますが、決定する準備ができていない理由は 1 つだけです: エミットマッパーは最初の開発者によってまったくサポートされていませんが、これが非常に重要かどうかはわかりません (可能性は非常に低いです)。いくつかの追加機能の要件に)。

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

c# - エミット マッパー「Nullable オブジェクトには値が必要です」

Emit Mapperを使用して、フィールドを InternalClass から ExternalClass にコピーしています。

次のコードを使用して、リストをリストに変換します。

しかし、「Nullableオブジェクトには値が必要です」というメッセージが表示されます。また、null 非許容プロパティをオーバーライドしようとしました。

また、両方のクラスの型を nullable にしようとしましたが、うまくいきませんでした。他のアイデアはありますか?

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

c# - 自動マッピングの内部サービス参照

サービス参照を使用する ac# ライブラリを作成しています。ライブラリの外からサービス全体にアクセスできるようにしたくありません。そのため、最初に AutoMapper を使用して、必要なサービス クラスをライブラリ内の同様のクラスにコピーしました。2 番目のステップは、サービス参照を内部にすることでした。私の主な問題は、内部アクセスをサポートする自動マッピング ライブラリがないように見えることです。AutoMapperEmitMapper、およびValueInjecterライブラリを試しましたが、コピーしたすべてのオブジェクトに null/デフォルト値があります。AutoMapper には、内部サポートに関連するgithub の問題がありますが、いつ表示されるかはわかりません。

JSON.NETを使用してサービス クラスをシリアライズし、それをライブラリ クラスにデシリアライズするという奇妙なことを試すことにしました。これはかなりうまく機能しますが、パフォーマンスの点で AutoMapper のようなライブラリと比較してどうなのだろうかと思います。パフォーマンスに関しては、EmitMapper が王様であることを私は知っています。

内部で機能する自動マッピング ソリューションを見つけた人はいますか?

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

circular-reference - エミットマッパーの循環参照

マッパーの循環参照の問題を発生させます。AA を A にマップしようとしています。A には B のオブジェクトがありますが、B には A のオブジェクトがあります。これは循環参照の問題です。Emit マッパーがこの問題をどのように処理できるかわかりません。

A から AA にマップする必要があります。これで、スタック オーバーフロー エラーが発生しました。この問題を解決する方法を知っている人はいますか?