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

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

生活随笔

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

编程问答

AutoMapper搬运工之自定义类型转换

發(fā)布時(shí)間:2023/12/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AutoMapper搬运工之自定义类型转换 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

最近還挺忙,還有點(diǎn)累,一直都沒(méi)更新了,實(shí)在是懶呀。正題之前先說(shuō)點(diǎn)別的,最近公司要擴(kuò)張了,需要大量開(kāi)發(fā),領(lǐng)導(dǎo)說(shuō)推薦有錢(qián)可以拿,如此好機(jī)會(huì),我就趁機(jī)做個(gè)廣告。ShippingRen.com招募.NET高級(jí)開(kāi)發(fā),坐標(biāo)上海,有興趣的給我留言,或者加我qq:1029183866,加的時(shí)候請(qǐng)說(shuō)明博客園看到。

另外在說(shuō)說(shuō)這幾天,工作忙是不可避免,業(yè)余也在準(zhǔn)備自己的網(wǎng)站www.capqueen.com(目前還在備案中),準(zhǔn)備用目前會(huì)的技術(shù)從無(wú)到有建立一個(gè)CMS(博客),到時(shí)候也會(huì)發(fā)一些文章和大家分享。最近還有一個(gè)想法,因?yàn)楣ぷ鞯年P(guān)系用了很多框架和組件,大多數(shù)是github上的,我在考慮我研究過(guò)了之后稍微有些心得,是不是再搬運(yùn)來(lái)和大家分享。目前在看的有FluentValidation和ServiceStack。

好了回歸正題,這篇文章我會(huì)和大家分享關(guān)于AutoMapper的自定義轉(zhuǎn)換規(guī)則。相信大家如果有在用的話,一定會(huì)遇到目標(biāo)對(duì)象和源對(duì)象屬性名字對(duì)應(yīng)但是類(lèi)型不對(duì)應(yīng),該如何解決呢?。

自定義類(lèi)型轉(zhuǎn)換規(guī)則(Custom type converters)

還是照樣上場(chǎng)景,首先有以下兩個(gè)類(lèi):

public class Source{public string Value1 { get; set; }public string Value2 { get; set; }public string Value3 { get; set; }}public class Destination{public int Value1 { get; set; }public DateTime Value2 { get; set; }public Type Value3 { get; set; }}

上面的類(lèi)如果按照普通的轉(zhuǎn)換的話,顯然要報(bào)錯(cuò),錯(cuò)誤如下:

AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.//AutoMapper Mapping異常,找不到相應(yīng)的類(lèi)型配置或者不支持的Mapping

因此我們需要給Mapping指定相應(yīng)的類(lèi)型轉(zhuǎn)換,AutoMapper提供了3種方式:

void ConvertUsing(Func<TSource, TDestination> mappingFunction); void ConvertUsing(ITypeConverter<TSource, TDestination> converter); void ConvertUsing<TTypeConverter>() where TTypeConverter : ITypeConverter<TSource, TDestination>;

首先看第一種

Mapper.CreateMap<string, int>().ConvertUsing(System.Convert.ToInt32);

這種很簡(jiǎn)單,直接指定了一個(gè)方法,這里是使用了System.Convert里的默認(rèn)轉(zhuǎn)換,當(dāng)然咱們也可以自定義只要是一個(gè)Func<TSource, TDestination>就可以了。

再來(lái)看剩下兩種,這兩種使用了接口ITypeConverter<in TSource, out TDestination>, 這個(gè)接口是AutoMapper提供的用于自定義的類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)。咱們看看實(shí)現(xiàn),如下:

public class DateTimeTypeConverter : ITypeConverter<string, DateTime>{public DateTime Convert(ResolutionContext context){return System.Convert.ToDateTime(context.SourceValue);//使用了默認(rèn)的Convert,這里注意這個(gè)context是上下文,附帶了轉(zhuǎn)換時(shí)的參數(shù)信息}}public class TypeTypeConverter : ITypeConverter<string, Type>{public Type Convert(ResolutionContext context){return context.SourceType;//使用源屬性的類(lèi)型}}

然后再來(lái)看看使用方法:

Mapper.CreateMap<string, DateTime>().ConvertUsing(new DateTimeTypeConverter());Mapper.CreateMap<string, Type>().ConvertUsing<TypeTypeConverter>();

?

總結(jié)

自定義類(lèi)型轉(zhuǎn)換的好處在于,我們只要定義一次就可以在所有轉(zhuǎn)換里都可以使用。但是我想,會(huì)不會(huì)存在一些情況,例如TypeA => TypeB 我們有多種轉(zhuǎn)換需求?這樣的場(chǎng)景,看起來(lái)AutoMapper無(wú)法采用自定義類(lèi)型轉(zhuǎn)換了。不知道有沒(méi)有哪位知道如何處理的,請(qǐng)留言~

其實(shí)在我看來(lái)很多時(shí)候直接用自定義映射就已經(jīng)可以解決掉了上面的問(wèn)題,類(lèi)型轉(zhuǎn)換只是AutoMapper提供的一種遍歷,感覺(jué)也說(shuō)不上特別需要。

?

本篇文章搬運(yùn)自:https://github.com/AutoMapper/AutoMapper/wiki/Custom-type-converters

下篇我會(huì)和大家分享關(guān)于自定義屬性處理的文章,<AutoMapper搬運(yùn)工之自定義屬性計(jì)算>/另外我還在寫(xiě)一篇關(guān)于數(shù)據(jù)驗(yàn)證的文章,歡迎大家到時(shí)候來(lái)拍磚。

轉(zhuǎn)載于:https://www.cnblogs.com/capqueen/p/AuoMaperCustomerTypeConvert.html

總結(jié)

以上是生活随笔為你收集整理的AutoMapper搬运工之自定义类型转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 欧洲精品一区 | 看全黄大色黄大片 | 波多野结衣中文字幕一区 | 久久久久成人片免费观看蜜芽 | 久久亚洲av成人无码国产电影 | 久色网站 | 性欧美18一19内谢 | 国产chinese男男网站大全 | 久久国产一区二区 | 日本jizzjizz| 娇妻第一次尝试交换的后果 | 日韩另类视频 | 亚洲欧美国产日韩精品 | 人人妻人人澡人人爽国产一区 | 一级a毛片免费观看久久精品 | 性生活毛片 | 九九久久九九久久 | 青青操网站 | 日批视频网站 | 免费性视频 | 亚州久久久| 日韩久久一级片 | 噜噜噜色 | 亚洲美女毛片 | 91精品国产乱码久久 | 99久久人妻精品免费二区 | aa在线视频 | 轮乱 | 亚洲日本激情 | 天天射天天爽 | 99re视频在线播放 | 久草影音| 美女色网站 | 国产免费久久 | 日韩精品免费一区二区夜夜嗨 | 日韩精品一区二区三区无码专区 | 男女无套免费视频网站动漫 | 少妇精品久久久一区二区三区 | 中文字幕有码无码人妻av蜜桃 | 日韩亚洲在线观看 | 中国三级视频 | 国产在线拍揄自揄拍无码 | 精精国产xxxx视频在线播放 | 朝桐光在线观看 | 亚洲欧洲色图 | 邻家有女4完整版电影观看 欧美偷拍另类 | 亚洲v国产v欧美v久久久久久 | 草草视频在线播放 | 黄色欧美网站 | 国产亚洲精品久久久久久777 | 在线观看欧美一区二区 | 性xxxxxxxxx18欧美 | 91蝌蚪视频在线 | 日本精品一区二区 | 天天拍天天射 | 无码一区二区三区免费 | 无码播放一区二区三区 | 欧美黄色大片免费看 | 99久久精品国产亚洲 | 中文字字幕在线中文乱码电影 | 亚州综合| 午夜少妇视频 | 亚洲一区免费在线观看 | 亚洲欧美日韩在线一区二区 | 日韩经典在线 | 精品国产无码在线观看 | 亚洲视频1区 | xiuxiuavnet | 青草伊人久久 | va在线观看 | 在线免费观看亚洲 | 在线观看视频一区二区 | 亚洲三级国产 | 国产sm主人调教女m视频 | 国产女女调教女同 | 伊人久久久久久久久久 | 亚洲精品久久久久久久蜜桃 | 一区二区三区免费在线观看 | 成人免费福利视频 | 天天射综合网站 | 午夜在线视频免费观看 | 777视频在线观看 | av无码精品一区二区三区 | 女生高潮视频在线观看 | 日韩精品免费电影 | 91午夜交换视频 | 一级片视频免费 | 日韩视频在线免费观看 | 婷婷久久久 | 日本大奶视频 | 精品国产九九 | 国产精品一卡 | 亚洲三级伦理 | 亚洲一区网站 | 国产欧美日韩免费 | 久热精品在线视频 | 女生鸡鸡软件 | 李宗瑞91在线正在播放 | 韩日少妇|