問題タブ [automapper-3]
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# - オートマッパーでオブジェクト階層を非正規化する
この質問に似たさまざまな質問が寄せられていることは知っていますが、私が知る限り(およびテストする限り)、提供された解決策はどれも当てはまらないようです。
ネストされたプロパティのリストを持つインスタンスが、AutoMapper を使用して宛先タイプのリストにマップされるように、オブジェクト階層をフラット化/非正規化できるかどうか疑問に思っています。
次のようなソースクラスがあります
ソース:
行き先:
したがって、2 つのソースを非正規化された宛先 DenormDistributionInfo のリストにマップしたいと考えています。
すなわち:
AutoMapperを使用してそれは可能/実行可能ですか、それとも「手動で」あきらめて非正規化する必要がありますか?
.net - 自動マッパーが列挙値を文字列に変換するのを止めるにはどうすればよいですか
私たちのコードは現在、非常に古いバージョンの Automapper (1.1) から最新の 3.3 までを使用しています。オートマッパーの動作の変更により、いくつかの問題が発生しています。
object
参照型または値のいずれかである値を取ることができるtype のフィールドがありenum
ます。フィールド値が列挙値の場合、Automapper は値を文字列表現にマップします。
私たちの問題を説明する以下のコード例を参照してください。Automapper に列挙値をターゲット列挙値にマップさせる方法を誰か教えてください。
前もって感謝します - クリス
c# - AutoMapper を使用して多数の階層オブジェクトを DTO にマップする
12 個のエンティティ フレームワーク オブジェクトの階層があります。
また、DTO を作成したエンティティごとに持っています。
DTO をネットワーク経由で送信したい。
DTOアプローチを使用する必要があります。
この量のオブジェクトを Automapper でどのようにマッピングしますか?
AutoMapper.Map メソッドを 12 回使用する必要がありますか?
アップデート
私は今、このエラーが発生します:
それは不可能ですか?クラス内の複雑なクラスに対して追加のマッピングを設定する必要がありますか?
c# - dto を複雑なエンティティにマップする
複雑な UploadDTO をエンティティ Number にマップするにはどうすればよいですか?
アップデート
問題は、UploadDTO マッピングが欠落しているため機能しないことです。しかし、 「たとえば、UploadDTO.Customer TO Customer を考えてみましょう」と言うにはどうすればよいでしょうか。
c# - タイプ 'AutoMapper.AutoMapperMappingException' の未処理の例外が AutoMapper.dll で発生しました
Automapper がどのように機能しているかを正確に理解したいと思います。ViewModels
ビジネスで必要な情報を 1 つまたは複数のデータベース テーブルから抽出して送信するために、いわゆる呼び出しを使用する前に、基本的な考え方は知っています。現在、使用されているレガシープロジェクトに取り組んでおり、Automapper
それ以上のものを提供している可能性がありますが、現時点では、ドメインオブジェクトを DTO オブジェクトまたはその逆にマッピングすることを理解 (できるように) したいと考えています。 -逆に、私はそれができないので、どちらが正しい方法なのかわかりません。
これは、いくつかの基本的な機能をテストするために作成したコンソール プロジェクトの簡単な例ですAutomapper
。
DTO_User.cs
クラスがフロントエンドにデータを送信するために使用される場所。次のようになります。
そして、User.cs
実際のドメイン データを表すクラスです。
だから私がやろうとしていること。私には、いくつかのオブジェクトProgram.cs
を作成する静的メソッドがあります。User
次に、私のMain
方法では、このモックされたデータを DTO リストにマップしようとします。
ここでフォアループ内でエラーが発生しました:
私はいくつかの無効な議論を持っていると言っています。明らかに、Automapper が実際のマッピングをどのように実装することを意図していたのか、私にはよくわかりません。上記のコードは、私にとって最も自然に見えたものです。これはかなり基本的なことなので、実際の解決策はそれほど難しくないことはわかっていますが、誰かが私のロジックがどこにひび割れているのか、そして動作するコードの背後にあるアイデアは何なのかを説明していただければ幸いです。
c# - automapper を使用して複雑な DTO をエンティティにマッピングする
からマッピングしたい
マッピングはこのメソッドで作成され、最後にデータをマッピングします。
DTO の構造は次のとおりです。
機能するのは、これらのプロパティが対応するエンティティに正しくマップされていることです。
機能しないのは、このプロパティがマップされていないことです。
エンティティの構造は次のとおりです。
CustomerプロパティとDeviceプロパティのみがLDTTicketでマッピングされます
構成の何が問題になっていますか?
asp.net-mvc - 複数のユーザーがユーザーを作成している場合、automapper エラー コレクションが変更されました
次のエラーが表示されます。このエラーは、複数のユーザーが同じボタンを押したときにのみ表示されます。どんな助け/アイデアも本当に感謝しています:
System.InvalidOperationException: コレクションが変更されました。列挙操作が実行されない場合があります。生成: 2015 年 6 月 10 日水曜日 07:29:06 GMT
AutoMapper.AutoMapperMappingException:
マッピング タイプ: ユーザー -> ユーザー ApplicationSecurityManager.Service.User -> ApplicationSecurityManager.Models.User
宛先パス: ユーザー
ソース値: ApplicationSecurityManager.Service.User ---> System.InvalidOperationException: コレクションが変更されました。列挙操作が実行されない場合があります。System.Collections.Generic.List
1.Enumerator.MoveNextRare() at AutoMapper.TypeMap.<get_AfterMap>b__1(Object src, Object dest) at AutoMapper.Mappers.TypeMapObjectMapperRegistry.PropertyMapMappingStrategy.Map(ResolutionContext context, IMappingEngineRunner mapper) at AutoMapper.Mappers.TypeMapMapper.Map(ResolutionContext context, IMappingEngineRunner mapper) at AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext context) --- End of inner exception stack trace --- at AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext context) at AutoMapper.MappingEngine.Map[TDestination](Object source, Action
1 opts) で ApplicationSecurityManager.UserManager.LoadUser(String username) で ApplicationSecurityManager.UserManager.get_AuthenticatedUser() で ApplicationSecurityManager.UserManager.IsAuthenticated() で ApplicationSecurityManager.Infrastructure.ApplicationSecurityAttribute.OnAuthorization(AuthorizationContext filterContext) でSystem.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList1 filters, ActionDescriptor actionDescriptor) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.Begin(AsyncCallback コールバック、オブジェクト状態、Int32 タイムアウト) System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback コールバック、オブジェクト状態、BeginInvokeDelegate beginDelegate、EndInvokeDelegate1 endDelegate, Object tag, Int32 timeout) at System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate
1 endDelegate、Object タグ) で System.Web. Mvc.Controller.<>c__DisplayClass1d.b__17(AsyncCallback asyncCallback、Object asyncState) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.Begin(AsyncCallback callback, Object state, Int32 timeout) at System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate
1 endDelegate、Object タグ、Int32 タイムアウト) System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback コールバック) 、オブジェクトの状態) System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult で1.Begin(AsyncCallback callback, Object state, Int32 timeout) at System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate
1 endDelegate、Object タグ、Int32 タイムアウト) System.Web.Mvc.Async.AsyncResultWrapper.Begin で (AsyncCallback コールバック、オブジェクト状態、BeginInvokeDelegate beginDelegate、EndInvokeDelegate endDelegate、Object タグ) で System.Web.Mvc.Controller.BeginExecute (RequestContext requestContext 、AsyncCallback コールバック、オブジェクト状態) System.Web.Mvc.MvcHandler.<>c__DisplayClass8.b__2(AsyncCallback asyncCallback、オブジェクト asyncState) で System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.Begin(AsyncCallback callback, Object state, Int32 timeout) at System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate
1 endDelegate、Object タグ、Int32 タイムアウト) System.Web.Mvc.Async.AsyncResultWrapper.Begin (AsyncCallback コールバック、オブジェクト状態、BeginInvokeDelegate beginDelegate、EndInvokeDelegate endDelegate、Object タグ) で System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext) 、AsyncCallback コールバック、オブジェクト状態) System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() で System.Web.HttpApplication.ExecuteStep で (IExecutionStep ステップ、ブール値および completedSynchronously)
これは、アフターマップが問題だと思うコンストラクターですが、デバッグ時にエラーが発生しません。
依存性注入マッピング:
でsaveUserResponse
、エラーが発生しています。