我們最近實現(xiàn)了自動映射器,目前正在尋求優(yōu)化從DTO到模型的賦值。目前,我們正在做類似的事情model.Property1 = dto.Property1;model.SomePropertyType = dto.PropertyType;model.Property2 = dto.Property2; 現(xiàn)在,對于所有Mapper類,這可能會耗時很長且重復(fù)性的任務(wù)。有沒有辦法在AutoMapper上簡化此過程?
1 回答

米琪卡哇伊
TA貢獻1998條經(jīng)驗 獲得超6個贊
如果您正在使用,Automapper那么您是否未定義地圖(配置文件)?我相信,您可能已經(jīng)定義了這些對象,所以請使用這些Automapper對象來指導(dǎo)如何將源對象映射到Target。
另一點Automapper也基于命名約定,因此,如果您在源和目標(biāo)中都具有相同的屬性名稱,則它將自動自動映射。因此,您不必為它定義映射。要覆蓋屬性(或其名稱/類型不匹配)的映射,可以使用.ForMember方法。
cfg.CreateMap<MyDTO, MyModel>()
.ForMember(destination => destination.PropertyType,
opts => opts.MapFrom(source => source.SomePropertyType ));
您可以Automapper在這里閱讀有關(guān)內(nèi)容。
現(xiàn)在在代碼中獲取映射的對象,使用它就像
Mapper.Map<MyModel>(object of MyDTO);
- 1 回答
- 0 關(guān)注
- 195 瀏覽
添加回答
舉報
0/150
提交
取消