問題タブ [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.
c# - マッパーとジェネリックメソッドを放出する
データベースのプロパティを保存しようとすると、Emitマッパーに問題が発生します。
最初に私はこのクラスをマッピングしました(それはうまくいきます):
ここにマッピングしました:
ただし、一部の要件はstring
プロパティを必要としません。だから私はこれを書くことにしました:
そして、すべてのマッピングが機能していません=(
ccanの場合は、助けてください。必要に応じて、必要な情報を提供できます
。PS正直なところ、文字列に転送して戻したいので、少なくとも機能します。
UPD:私は方法なしで試しましたpublic T GetValue<T>()
...それは動作します...
c# - マッパーを発行します。オブジェクトを int に変換する
にマッピングしようとすると、問題が発生しobject
ますint
。
変換する私のクラスとメソッド:
マップされたプロパティAge
が 0の場合profile
:
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です。
どんな助けでも大いに活用されるでしょう。
entity-framework - EmitMapper + EF. コレクション マッピングの問題
ソースクラス:
宛先クラス
私が使うとき
エラーが発生しました
タイプ 'System.Data.Entity.DynamicProxies.Article_2F97D0440149ED4566ED7675640D475A23EB97002CFD5941610DD0C9BCE74E55' のオブジェクトをタイプ 'System.Collections.Generic.ICollection`1[SomeProject.Dal.Models.Articles.Article]' にキャストできません。
AutoMapper を使用すると、正常に動作します。
.net - エミット マッパーと valueinjecter または automapper のパフォーマンス
私はこの 3 つのマッパーを比較するのに時間を費やしましたが、emitmapper と valueinjecter または automapper のいずれか (最後の 2 つはパフォーマンスで比較可能) との間でなぜこれほど大きなパフォーマンスの違いがあるのかということは興味深いことです。emitmapper ソリューションのベンチマーク テストから (1000000 回の反復):
また、追加されたemitmapper(10000回の反復)で実行されたvalueinjecterからのいくつかのベンチマーク:
最初にエミットマッパーテストがあり、毎回作成され、2番目にすべての変換に対して1つのマッパーが作成されました。
これを考慮して、値インジェクター (オートマッパーとしても) としての結果を、エミット マッパーよりも 100 倍遅くします。これほど大きなパフォーマンスの違いの理由は何ですか? 私にとって、オブジェクトからオブジェクトへのマッパーは、プロジェクトのボトルネックになるため(たとえば、オブジェクトのコレクションをマップする必要がある場合)、手書きのマッパーに比べてそれほど時間がかかりませんでした。
現時点では、エミットマッパーの使用を考えていますが、決定する準備ができていない理由は 1 つだけです: エミットマッパーは最初の開発者によってまったくサポートされていませんが、これが非常に重要かどうかはわかりません (可能性は非常に低いです)。いくつかの追加機能の要件に)。
c# - エミット マッパー「Nullable オブジェクトには値が必要です」
Emit Mapperを使用して、フィールドを InternalClass から ExternalClass にコピーしています。
次のコードを使用して、リストをリストに変換します。
しかし、「Nullableオブジェクトには値が必要です」というメッセージが表示されます。また、null 非許容プロパティをオーバーライドしようとしました。
また、両方のクラスの型を nullable にしようとしましたが、うまくいきませんでした。他のアイデアはありますか?
c# - 自動マッピングの内部サービス参照
サービス参照を使用する ac# ライブラリを作成しています。ライブラリの外からサービス全体にアクセスできるようにしたくありません。そのため、最初に AutoMapper を使用して、必要なサービス クラスをライブラリ内の同様のクラスにコピーしました。2 番目のステップは、サービス参照を内部にすることでした。私の主な問題は、内部アクセスをサポートする自動マッピング ライブラリがないように見えることです。AutoMapper、EmitMapper、およびValueInjecterライブラリを試しましたが、コピーしたすべてのオブジェクトに null/デフォルト値があります。AutoMapper には、内部サポートに関連するgithub の問題がありますが、いつ表示されるかはわかりません。
JSON.NETを使用してサービス クラスをシリアライズし、それをライブラリ クラスにデシリアライズするという奇妙なことを試すことにしました。これはかなりうまく機能しますが、パフォーマンスの点で AutoMapper のようなライブラリと比較してどうなのだろうかと思います。パフォーマンスに関しては、EmitMapper が王様であることを私は知っています。
内部で機能する自動マッピング ソリューションを見つけた人はいますか?
circular-reference - エミットマッパーの循環参照
マッパーの循環参照の問題を発生させます。AA を A にマップしようとしています。A には B のオブジェクトがありますが、B には A のオブジェクトがあります。これは循環参照の問題です。Emit マッパーがこの問題をどのように処理できるかわかりません。
A から AA にマップする必要があります。これで、スタック オーバーフロー エラーが発生しました。この問題を解決する方法を知っている人はいますか?