日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

AutoMapper在ABP框架中的使用说明

發(fā)布時(shí)間:2023/12/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AutoMapper在ABP框架中的使用说明 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為了說(shuō)明AutoMapper如何使用,我專(zhuān)門(mén)開(kāi)設(shè)了一個(gè)專(zhuān)題來(lái)講,如果您還沒(méi)有查看該專(zhuān)題,請(qǐng)點(diǎn)擊這里。既然系統(tǒng)地學(xué)習(xí)了AutoMapper,那么接下來(lái)就是該用它實(shí)戰(zhàn)的時(shí)候了。今天,我們就來(lái)揭開(kāi)AutoMapper如何在ABP框架中使用的面紗。

因?yàn)檫@里演示的是用ABP框架搭建的項(xiàng)目,本博客的講解的前提是假設(shè)你有了ABP基礎(chǔ),所以,如果您還不了解ABP框架,請(qǐng)查看我的ABP框架的系列博客,請(qǐng)點(diǎn)擊這里

下面正式開(kāi)始今天的講解。

首先,讓我們稍微回憶一下AutoMapper的知識(shí)點(diǎn)。

問(wèn):什么是AutoMapper?

答:AutoMapper翻譯過(guò)來(lái)就是“自動(dòng)映射工具”。它的作用就是將一個(gè)源類(lèi)型映射成一個(gè)目標(biāo)類(lèi)型,比如Person——>PersonDto,User——>UserDto。

問(wèn):什么情況下使用AutoMapper?

答:一般在項(xiàng)目的開(kāi)發(fā)中,經(jīng)常需要將Entity實(shí)體映射成ModelDto或者ViewModel,這個(gè)時(shí)候,使用AutoMapper僅需要簡(jiǎn)單的配置,就可以實(shí)現(xiàn)這些需求,非常方便。

接下來(lái),講一下項(xiàng)目中的具體配置。

在我的ABP項(xiàng)目中,首先核心層有一個(gè)實(shí)體類(lèi)TerminalDevices,類(lèi)定義如下:

?View Code

可以看到,僅一個(gè)實(shí)體類(lèi),就要將近300行的代碼,但是在服務(wù)層或者展現(xiàn)層使用的時(shí)候,有些屬性是不需要的,所以這時(shí)我們就要定義我們的Dto類(lèi)了。

隨后,我在ABP項(xiàng)目中的服務(wù)層定義了一個(gè)對(duì)應(yīng)的TerminalDeviceDto類(lèi),定義如下:

?View Code

當(dāng)然,這里的Dto類(lèi)定義的屬性跟你的具體業(yè)務(wù)相關(guān),定義的屬性還可能更少。

上面講的是源類(lèi)型和目標(biāo)類(lèi)型的定義,下面開(kāi)始講它們之間的映射配置。

首先,我在應(yīng)用服務(wù)層新建一個(gè)文件夾取名“AutoMapper”,里面放跟AutoMapper配置相關(guān)的東西。

如圖,新建一個(gè)類(lèi)TerminalDeviceProfile(CityProfile類(lèi)是我的另一個(gè)實(shí)體類(lèi)對(duì)應(yīng)的AutoMapper配置文件),定義如下:

namespace Noah.ChargeStation.Application.AutoMapper {public class CityProfile:Profile{protected override void Configure(){Mapper.Initialize(cfg =>{cfg.CreateMap<Cities, CityDto>();});}} }

如果您對(duì)這么配置不清楚原因,請(qǐng)查看我的AutoMapper系列教程,點(diǎn)擊查看

再創(chuàng)建一個(gè)AutoMapperWebConfig靜態(tài)類(lèi),定義如下:

namespace Noah.ChargeStation.Application.AutoMapper {public static class AutoMapperWebConfig{public static void Configure(){Mapper.Initialize(cfg =>{cfg.AddProfile<CityProfile>();cfg.AddProfile<TerminalDeviceProfile>();});Mapper.AssertConfigurationIsValid();//驗(yàn)證所有的映射配置是否都正常 }} }

接下來(lái),在應(yīng)用服務(wù)層的模塊類(lèi)中調(diào)用該靜態(tài)類(lèi)的靜態(tài)方法,加載所有的AutoMapper配置信息。

namespace Noah.ChargeStation.Application {[DependsOn(typeof(ChargeStationCoreModule), typeof(AbpAutoMapperModule))]public class ChargeStationApplicationModule : AbpModule{public override void Initialize(){IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());AutoMapperWebConfig.Configure();//一次性加載所有映射配置 }} }

這里需要注意的是,AutoMapper的配置一般放在項(xiàng)目啟動(dòng)的時(shí)候進(jìn)行加載且只加載一次就夠了,而在ABP框架搭建的項(xiàng)目中,除了展現(xiàn)層(Web和WebAPI層),其他層都會(huì)有一個(gè)Module類(lèi)(類(lèi)名以Module結(jié)尾)。這些類(lèi)都重寫(xiě)了父類(lèi)AbpModule的Initialize方法,旨在模塊初始化的時(shí)候調(diào)用,這樣,映射的配置也在模塊初始化的時(shí)候完成了。如果在一般的ASP.Net項(xiàng)目中,應(yīng)該在全局配置文件Global.asax中的Application_Start方法中調(diào)用AutoMapper的配置方法,其他項(xiàng)目類(lèi)似。

以后,想要添加配置信息時(shí),只需要定義相應(yīng)的XXProfile類(lèi),然后在AutoMapperWebConfig類(lèi)中添加配置文件類(lèi)就可以了。




本文轉(zhuǎn)自tkbSimplest博客園博客,原文鏈接:http://www.cnblogs.com/farb/p/4973910.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者


總結(jié)

以上是生活随笔為你收集整理的AutoMapper在ABP框架中的使用说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲黄a | www.四虎精品 | 成人av久久 | 国产精品一区二区亚洲 | 欧美日韩免费一区二区三区 | 人妻互换一二三区激情视频 | 狠狠撸狠狠操 | 天堂在线官网 | 国产欧美日韩精品在线 | 伊人色综合久久天天 | 亚洲黄色一区二区 | 天堂影视在线观看 | 亚洲成人无码久久 | 亚洲制服一区 | 大尺度摸揉捏胸床戏视频 | 日本熟妇人妻xxxxx | 久久久精品一区二区三区 | 亚洲精品乱码久久久久久蜜桃麻豆 | 国产精品卡一卡二 | 午夜骚影| 成人网免费 | 精品一区二区三区国产 | jk美女又爽又黄视频 | 素人女裸体 | 杨幂一区二区三区免费看视频 | 国产三级三级三级三级三级 | 影音先锋日韩资源 | 日日摸日日添日日躁av | 久久久噜噜噜久久 | 国产艳妇疯狂做爰视频 | 2022天天操 | 国产精品一区二区性色av | 日韩欧美亚洲视频 | 性史性农村dvd毛片 日韩精品在线视频观看 | 香蕉视频在线观看网站 | 日本黄色a视频 | 精品人妻一区二区三区免费 | 东方伊甸园av在线 | 伊人98| 国产精品嫩草影院桃色 | 人妻互换一区二区激情偷拍 | 亚洲精品久 | 久久青青| 成人精品影视 | 一级黄色录象 | 成年人a级片 | 91亚洲在线 | 亚洲精品无码久久久久久久 | 一区二区三区四区五区六区 | 麻豆精品a∨在线观看 | 伊人春色在线 | 91视频社区 | 国产又色又爽又黄又免费 | 无码精品一区二区三区在线播放 | 久久精品国产精品亚洲 | 日本国产一区二区三区 | av一区二区在线播放 | 黄色片在线免费看 | 亚洲一区视频在线播放 | 最好看的2019年中文视频 | 亚洲美女在线播放 | 阿v天堂2018 俄罗斯丰满熟妇hd av色吧 | 少妇免费直播 | 色婷婷免费 | 欧美日韩视频在线播放 | 日本最黄网站 | 天天艹夜夜艹 | 国产ts丝袜人妖系列视频 | 欧美a图 | 夜夜躁狠狠躁日日躁 | 亚洲av乱码久久精品蜜桃 | 日本不卡视频 | 中文字幕丰满乱子伦无码专区 | 在线观看亚洲成人 | 神马午夜在线观看 | 不卡中文一二三区 | 久久亚洲综合色图 | 成人h网站 | 91看片免费看 | 伊人久久青青草 | 毛片官网 | 香港三级韩国三级日本三级 | av影视网| 国产伦精品一区二区三区网站 | 777精品久无码人妻蜜桃 | 日本在线国产 | 97狠狠| 男女一级特黄 | 黄色录像二级片 | 熟妇人妻一区二区三区四区 | 亚欧色视频 | 97精品在线视频 | 少女与动物高清版在线观看 | 大胸喷奶水www视频妖精网站 | 欧美性色黄大片手机版 | 波多野结衣免费在线视频 | 欧美日韩国产91 | 亚洲一级精品 | 亚洲人精品 |