問題タブ [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 投票する
2 に答える
8184 参照

c# - AutoMapper は大文字と小文字を区別しますか?

オブジェクトaに「Id」という名前のプロパティがあり、オブジェクトbに「ID」という名前のプロパティがある場合、AutoMapper は 2 つのプロパティを (.ForMember(...)呼び出しを行わずに) 正しくマップしますか?

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

c# - リスト間のAutoMapper自動リスト変換をオフにするにはどうすればよいですかおよびEntitySet?

AutoMapper を使用して、Linq-To-SQL で生成されたエンティティを DTO にマッピングしています

最初に単体テストを作成したとき、特定のマップを (静的構成クラスを介して) セットアップして、1 つのタイプの EntitySet を汎用の List に (およびその逆に) 変換しました。

リストの変換を削除すると (AutoMapper がこれらを自動的に変換することを理解すると)、単体テストは引き続き機能しましたが、クロールが遅くなりました。非常に遅く、各テストを実行するのに文字通り 1 分かかりました。

リスト マッピングを再度追加した後、単体テストは通常​​のパフォーマンス速度に戻りました。

リストの変換をマップする必要があるように、リストの自動変換をオフにする方法はありますか? Map を含めなかった場合に AutoMapperException をスローするようにしたいと思います。これらのパフォーマンスの問題を回避したいと思います。

さらに悪いことに、DTO に基づいてマッピング構成クラスを自動的に作成するための簡単なコード生成テンプレートを作成することになるかもしれません。そうすれば、私は何も見逃すことはありません。

ありがとう。

0 投票する
4 に答える
9416 参照

c# - AppDomainごとに1回AutoMapperを構成する方法

ドメインモデル、MVC Webアプリケーション、および単体テスト用のアセンブリを使用した現在のプロジェクト。すべてのアセンブリが同じ構成を参照するようにAutoMapper構成を設定するにはどうすればよいですか?

WebアプリのGlobal.asaxにアイテムを配置できると思いますが、単体テストでそれをどのように使用できますか?また、構成がGlobal.asaxにある場合、ドメインモデルはマップを取得しますか?

どうもありがとう、

KevDog。

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

c# - AutoMapper-宛先文字列をnullに設定すると、実際にはstring.Emptyになります

次のマッピングを使用します。

SomeStringPropertynullではなく空の文字列になりました(私が期待するように)

これはバグですか?どうすれば実際にnullにすることができますか?

nullになると思いopt.Ignore()ますが、実際には次のような条件付きnullを実行したいので、上記の簡略化されたバグ(?)がこれを防いでいます。

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

vb.net - AutoMapper を使用して DAL プロパティを BLL プロパティにマップする際の問題

Country テーブル (CountryCode、CountryName など) のフィールドのプロパティを含む BLL クラスがあります。また、同じ名前のフィールドを持つ DAL クラス (SubSonic 2.2 で作成) への参照であるプロパティ ioDAL もあります。

データベース (SQL Server 2005 FWIW) を呼び出して DAL プロパティを設定する DAL の FetchById() メソッドを呼び出す LoadRecord() メソッドがあります。

次に、対応する DAL から各 BLL プロパティを設定するコードを記述するのではなく、AutoMapper (CodePlex から) を使用します。行は次のようなものにする必要があると思います

しかし、これにより、「型の値 (DAL クラス/名前空間の命名) を 'System.Type' に変換できません」および「型の値 (BLL クラス/名前空間の命名) を 'System.Type' に変換できません」というエラーが発生します。

この呼び出しがどうあるべきかについて、誰かが私にガイドを教えてもらえますか? (VB.NET VS2005)


2010 年 1 月 13 日編集 - Jimmy から、さらにコードを表示するように依頼されました。

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

mapping - Automapper - ネストされたエンティティ

子関係を持つエンティティを更新または作成しています。たとえば、集約ルートは Product (ProductId、Title) で、0 個以上の ProductSuppliers (ProductSupplierId、SuppliedAtPrice、SupplierInfoId) があり、DTO は同様の構造を表します (すべての情報)。十分に単純です。

ProductDTO と ProductSupplierDTO の単純なマップを作成しましたが、新しいエンティティを対象としていると思います。

ただし、DTO を処理するときに、既存のエンティティを更新している可能性があるため、次のようにします。

製品に存在するプリミティブ型の場合、ORM は値がダーティかどうかを認識するので問題ありません。ただし、Automapper で Product.Suppliers を新しいセットに置き換えるだけではいけません。何らかのロジックをどこかにプラグインして、product.Suppliers を反復処理し、エンティティが既に存在するかどうかを確認して更新するか、新しいエンティティ ProductSupplier を作成する必要があります。は値オブジェクトではありません。Id、ProductSupplierId があります。

マッピング内でこれをプラグインする場所が見つかりません。

助言がありますか?

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

asp.net-mvc - フォーム投稿シナリオと MVC での複雑なモデルの更新

Automapper を使用してドメイン オブジェクト (モデル) をビュー モデルにマップする方法について多くの人が書いていますが、これは非常に興味深く有用だと思いますが、私の質問はその反対の方法についてです。このプロセスの複雑さと、Automapper がそのシナリオで機能しない理由は理解していますが、特に更新時に、フォームの投稿で多くのことをしなければなりません。

モデルがあり、それをビュー モデルにマップしてから、ユーザーにフォームを提示します。次に、フォームが投稿され、モデルが非常に複雑になる可能性があるため、カスタム ModelBinders を使用して応答を処理し、直接永続化されない新しいモデルを構築します。代わりに、元のモデルを DB から読み込み、メソッドを呼び出して、投稿された元から何も壊さずに更新します。しかし、これは繰り返しになり、より良いアプローチがあるかもしれません。

私が見た例は非常にモデルが限定されていて素朴ですが、私たちのアプリケーションでは、このような 50 以上のフォーム投稿シナリオがあり、成長している可能性があります。

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

c# - AutoMapperを使用したコレクションのマッピング

ICollection配列をタイプのにマップしようとしています<T>.

基本的に私はできるようになりたいです:

どこYにありますかCollection<T>

何か案は?

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

.net - オートマッパー マッピング

次のようなプロパティ名でオブジェクトをマップしようとしています:

各プロパティを別のプロパティに個別にマップするよりも、これを行うためのより良い方法はありますか? 唯一の違いは下線です。

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

automapper - オートマッパー フォーマッターが機能しない

Automapper 構成にフォーマッターを追加して、すべてのDateTime?フィールドのスタイルを設定しようとしています。フォーマッターをグローバルに追加しようとしました:

そして、特定のマッピング自体について:

しかし、どちらも機能していないようです-常に通常の形式で日付を出力します。参考までに、私が使用している ViewModel と残りの構成を次に示します。

PostViewModel:

私は何を間違っていますか?

ありがとう!