問題タブ [automapper-2]

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

c# - AutoMapperを使用してオブジェクトのプロパティを文字列にマップする

私は次のモデルを持っています:

AutoMapperを使用してName、タイプのプロパティをビューモデルTagの1つで文字列プロパティにマップできるようにしたいと思います。

次のコードを使用して、このマッピングを処理しようとするカスタムリゾルバーを作成しました。

次のコードを使用してマッピングしています。

アプリケーションを実行すると、次のエラーが発生します。

メンバーのカスタム構成は、タイプの最上位の個々のメンバーに対してのみサポートされます。

私は何が間違っているのですか?

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

c# - Automapper モデル > ViewModel マッピング例外

次のモデルとビューモデルがあります(簡潔にするために編集されています):

次の AutoMapper マッピングがあります。

次に、コントローラー メソッドの 1 つが次の処理を実行して、Adverts のリストを取得します (各 Adverts には任意の数の AdvertImages を含めることができます)。

次に、これらの広告をListAdvertViewModelViewModel クラスにマップしようとします

ただし、返された広告の 1 つ (「ads」変数内) にマップする画像がある場合、これは失敗します。私が得るエラーは次のとおりです。

この AdvertImage マッピングが問題を引き起こしている理由がわかりません。

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

asp.net-mvc - NHibernateを使用したAutomapper-マップされたオブジェクトを永続化する方法は?

FluentNHibernateとAutoMapperを使用するASP.NETMVCアプリケーションがあります。私は主にAutoMapperを使用して、モデルをViewModelsに、またはその逆にマップしています。

後者を実行するとき、ビューモデルからモデルにマッピングし直すと、これをDBから特定のインスタンスにマッピングする方法がわからないので、変更をDBにコミットするときに(NHibernateリポジトリレイヤーを使用して、サービスを介して)レイヤー)、変更は永続化されます。

例:

マッピングの一部としてアドバタイズメントに正しいキー/IDが割り当てられているにもかかわらず、DBでこのアドバタイズメントを更新するためにNHibernateセッションをコミットしようとすると、NHibernateセッションはこのアドバタイズメントインスタンスについて何も知らないためだと思います(?)変更を書き留めることはありません。

したがって、NHibernateと組み合わせてこのマッピングシナリオをどのように処理するのか疑問に思っていますか?

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

c# - キーを使用して Automapper の既存のリストにリストをマップする

Automapper は、あるオブジェクト タイプのリストから別のオブジェクト タイプの別のリストへのマッピングを簡単に処理しますが、ID をキーとして既存のリストにマッピングすることは可能ですか?

0 投票する
6 に答える
15356 参照

c# - Automapper でスタック オーバーフローを引き起こす循環参照

Automapper を使用して、NHibernate プロキシ オブジェクト (DTO) を CSLA ビジネス オブジェクトにマップしています

Fluent NHibernate を使用してマッピングを作成しています - これは正常に動作しています

私が抱えている問題はOrder、 に のコレクションがOrderLinesあり、これらのそれぞれに への参照があることOrderです。

と:

これらの DTO オブジェクトは、それぞれOrderおよびOrderLinesCSLA オブジェクトにマップされます。

OrderLinesのリストへの自動マッピングOrderLinesDTOがマッピングされている場合。次に、自動マッパーは"Order"行のプロパティをマッピングします。これは にマップされ、Order次に に循環的にマップされOrderLine、次に にマップOrderされます。

Automapper がこの循環参照を回避できるかどうかは誰にもわかりませんか?

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

c# - AutoMapper-選択した子プロパティを保持しながらネストされたマッピング

だから私はこれを持っています。

そして、私はこれを行います。

それから私の期待は、dest.ChildProperty.OtherChildPropertyそれがデータコンテキストからプルされたときの状態にまだ設定されているということです。しかし、私はこれを行うのに苦労しています。

その場合CreateMap、「トップレベルのメンバーに解決する必要があります」という例外が発生します。

ただし、次のことを行うと、データコンテキストからプルされたnew Child {}ものが置き換えられ、基本的にクリアされます。ChildOtherChildProperty

これをマップして、無視したい子プロパティを保持するにはどうすればよいですか?

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

c# - AutoMapper ネストされたオブジェクトのプロパティを Null でない場合にマップする

次のサンプル オブジェクトがあります。

次のAutoMapper構成で

そして次のNUnitテスト...

上記のテストは、AutoMapper が null を宛先オブジェクトにプッシュしているため、age をアサートすると失敗します。

AutoMapper に期待しすぎているのでしょうか、それとも重要なマップ構成ステップを見逃しているのでしょうか。

最終的な目標は、MVC アクションを介して非常に複雑なドメイン オブジェクトを受信フォーム データにバインドすることです。次に、AutoMapper を使用して、(オブジェクト グラフのすべての深さで) null 以外のプロパティのみを、マルチ ステップ フォーム全体で維持されている実際のインスタンスにマージします。

誰かが知る必要がある場合に備えて...次のマッピング構成も試しましたが、運がありません:(

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

ninject - Ninject と AutoMapper

Caliburn.Micro で構築された Silverlight 5.0 UI で構成される内部デモ用のコードをまとめています。

要約シナリオ: サービス プロキシ クラスからビュー モデルのリストをマップするために AutoMapper を取得しようとしています。ビュー モデルには ctor 依存関係があるため、Ninject を使用してこれを解決したいと考えています。

詳細: サービスを呼び出す親ビュー モデル (AvailableItemsViewModel) があります。次に、AutoMapper を使用して、返された DTO のリストを AvailableItemViewModel にマップします。

AvailableItemViewModel は、Caliburn の IEventAggregator への参照を受け取ります。これは、ビュー モデルがユーザー入力に基づいてイベントを発行するためです。

もう読んだ:

Ninject を使用して AutoMapper の依存関係を注入する

Ninject の混乱を伴う AutoMapper

Ninject 2.0 で注入されるように Automapper を構成する方法は?

これらはすべてかなり似ているように見えます...だから、Bootstrapクラスで次のようになりました:

ブートストラップにブレークポイントを設定すると、Ninject が AvailableItemViewModel のインスタンスを正常に作成できることがわかります。

エラーは次のとおりです。

{System.ArgumentException: Type 'Caliburn.Proto.ViewModels.AvailableItemViewModel' には System.Linq.Expressions.Expression.New(Type type) at AutoMapper.DelegateFactory.<>c__DisplayClass1.b__0(Type t) に既定のコンストラクターがありませんTvdP.Collections.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) で AutoMapper.DelegateFactory.CreateCtor(Type タイプ) で AutoMapper.Mappers.ObjectCreator.CreateObject(Type タイプ) で AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.CreateObject(ResolutionContext コンテキスト) で AutoMapper.Mappers.TypeMapObjectMapperRegistry.NewObjectPropertyMapMappingStrategy.GetMappedObject( ResolutionContext コンテキスト、IMappingEngineRunner マッパー) で AutoMapper.Mappers.TypeMapObjectMapperRegistry.PropertyMapMappingStrategy.Map(ResolutionContext コンテキスト、IMappingEngineRunner マッパー) で AutoMapper.Mappers.TypeMapMapper.Map(ResolutionContext コンテキスト、IMappingEngineRunner マッパー) で AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext環境)}

Ninjectは使用されていませんか?

マッピングを行うコードは次のとおりです。

私は何が欠けていますか?

(AutoMapperはver2.1.267.0、Ninjectは3.0.0.0。Ninject.Conventionsも使っています)

[更新]投稿AutoMapper with Ninject の「回避策」も有効であることに注意してください。

[更新] これを考えると: Mapper.CreateMap().ConstructUsingServiceLocator();

ConstructUsingServiceLocator() メソッドを削除すると、Kernel.Get のブレークポイント:

トリガーしません。両方が必要なようですか?

0 投票する
5 に答える
21082 参照

automapper - オートマッパー式は最上位メンバーに解決される必要があります

オートマッパーを使用して、ソース オブジェクトと宛先オブジェクトをマッピングしています。それらをマップしている間、以下のエラーが発生します。

式は最上位メンバーに解決される必要があります。パラメータ名: lambdaExpression

問題を解決できません。

ソース オブジェクトと宛先オブジェクトは次のとおりです。

オブジェクトでマッピングSource.Carsする必要がありDestination.OutputData.Carsます。これで私を助けてもらえますか?

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

.net - 宛先のマップされていないフィールドが null に設定されています

2 つのオブジェクトのマッピングに Automapper を使用しています。

目的地にデフォルト値を持つフィールド VehicleModel があります。ソースにこの宛先フィールドのマッピングがありません。だから地図にしなかった。マッピングが完了すると、私のデフォルト値は宛先で null 値に設定されます。データ オブジェクトは次のようになります。

Source と OutputData の間のマッピング。

この動作を回避する方法。

前もって感謝します。サンディープ