激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - .NET Core中依賴注入AutoMapper的方法示例

.NET Core中依賴注入AutoMapper的方法示例

2020-05-22 12:25dudu ASP.NET教程

這篇文章主要給大家介紹了關(guān)于.NET Core中依賴注入AutoMapper的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

本文主要介紹了關(guān)于.NET Core依賴注入AutoMapper的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹:

最近在 review 代碼時發(fā)現(xiàn)同事沒有像其他項(xiàng)目那樣使用 AutoMapper.Mapper.Initialize() 靜態(tài)方法配置映射,而是使用了依賴注入 IMapper 接口的方式

?
1
2
3
4
services.AddSingleton<IMapper>(new Mapper(new MapperConfiguration(cfg =>
{
 cfg.CreateMap<User, MentionUserDto>();
})));

于是趁機(jī)學(xué)習(xí)了解一下,在 github 上發(fā)現(xiàn)了 AutoMapper.Extensions.Microsoft.DependencyInjection ,使用它只需通過 AutoMapper.Profile 配置映射

?
1
2
3
4
5
6
7
public class MappingProfile : Profile
{
 public MappingProfile()
 {
  CreateMap<User, MentionUserDto>();
 }
}

然后通過 AddAutoMapper() 進(jìn)行依賴注入,它會在當(dāng)前程序集自動找出所有繼承自 Profile 的子類添加到配置中

?
1
services.AddAutoMapper();

后來發(fā)現(xiàn)在使用 ProjectTo 時

?
1
2
3
.Take(10)
.ProjectTo<MentionUserDto>()
.ToListAsync();

發(fā)現(xiàn)如果自己使用 AddSingleton<IMapper>() ,會出現(xiàn)下面的錯誤(詳見博問):

?
1
Mapper not initialized. Call Initialize with appropriate configuration.

使用 AddAutoMapper() 并且將 UseStaticRegistration 為 false 時也會出現(xiàn)同樣的問題。

解決方法是給 ProjectTo 傳參 _mapper.ConfigurationProvider 注:傳 _mapper 不行)

?
1
.ProjectTo<MentionUserDto>(_mapper.ConfigurationProvider)

對于自己依賴注入的操作方式,后來參考  AutoMapper.Extensions.Microsoft.DependencyInjection 的實(shí)現(xiàn)

?
1
2
services.AddSingleton(config);
return services.AddScoped<IMapper>(sp => new Mapper(sp.GetRequiredService<IConfigurationProvider>(), sp.GetService));

采用了下面的方式,如果不想使用 AddAutoMapper()  通過反射自動找出 Profile ,建議使用這種方式

?
1
2
3
4
5
6
AutoMapper.IConfigurationProvider config = new MapperConfiguration(cfg =>
{
 cfg.AddProfile<MappingProfile>();
});
services.AddSingleton(config);
services.AddScoped<IMapper, Mapper>();

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對服務(wù)器之家的支持。

原文鏈接:http://www.cnblogs.com/dudu/p/8279114.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美中文字幕一区二区三区亚洲 | 牛牛a级毛片在线播放 | 久久久久久中文字幕 | av国产在线被下药迷网站 | 色悠悠久久久久 | av电影院在线观看 | 国产精品www| 91成人在线免费视频 | 99精品视频在线免费观看 | 男男成人高潮片免费视频欧美 | 国产成人精品午夜视频' | 久草在线播放视频 | 色人阁在线视频 | 欧美精品日日鲁夜夜添 | 久久久久久久久久亚洲 | 91热久久免费频精品黑人99 | 精品一区二区电影 | 羞羞视频免费网站 | 99精品国产在热久久婷婷 | 深夜激情视频 | 黄色高清视频网站 | 国产精品一区二区三区在线播放 | xxxxhd73国产| 日本在线播放一区二区 | 免费a视频| 久久精品一级片 | 日日操夜夜透 | 欧美亚洲综合网 | 日本最新免费二区三区 | 国产乱一区二区三区视频 | 国产成人在线网站 | av电影在线网站 | 色屁屁xxxxⅹ在线视频 | 国产18成人免费视频 | 国产精品av久久久久久网址 | sesee99| 欧美亚洲黄色片 | 欧美日韩高清在线观看 | 国内毛片视频 | 精品一区二区在线视频 | 亚洲精品久久久久久下一站 |