簡體   English   中英

Automapper-在C#中創建地圖

[英]Automapper - Creating Maps in C#

剛開始使用AutoMapper並想使某些事情變得清晰。

假設我要在User和UserDto之間無縫映射。

這些示例似乎都建議我必須先進入啟動區域(例如WebApiConfig.cs或startup.cs或global.axax等),然后執行以下操作:

Mapper.CreateMap<User, UserDto>();

大概如果我有50或100個要映射的實體/ DTO,我是否真的需要添加50或100行代碼以及一類到另一類之間的映射? 當然有更聰明的方法了吧?

如果我不需要進行任何特定的映射/覆蓋,是否真的需要這樣做? 我一定誤解了框架的基礎,因為這對我來說似乎是錯誤的。

謝謝!

只要源和目標上的所有內容都匹配,就可以使用DynamicMap

var target = Mapper.DynamicMap<TSource, TTarget>(source);

但是,根據需要創建映射會更有效:

if (Mapper.FindTypeMapFor<TSource, TTarget>() == null)
{
    Mapper.CreateMap<TSource, TTarget>();
}

var target =  Mapper.Map<TSource, TTarget>(source);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM