發(fā)布時(shí)間:2019-07-26
欄目:其他
automapper 是.net 項(xiàng)目中針對(duì)模型之間轉(zhuǎn)換映射的一個(gè)很好用的工具,不僅提高了開(kāi)發(fā)的效率還使代碼更加簡(jiǎn)潔,當(dāng)然也是開(kāi)源的,https://github.com/AutoMapper,這不多做介紹,詳細(xì)看,官網(wǎng)下面是介紹它在 .net core 項(xiàng)目中的使用
1. 首先當(dāng)然先引用 AutoMapper
- 你可以在NuGet中直接輸入AutoMapper直接引用,也可以在控制臺(tái)輸入 Install-Package AutoMapper
2. 其次我們要引用 AutoMapper 對(duì)依賴(lài)注入的一個(gè)擴(kuò)展 Extensions.Microsoft.DependencyInjection
- 由于.net core 中自帶依賴(lài)注入,我們要用DI來(lái)注冊(cè)我們的Mapper類(lèi)
3. 在Startup 類(lèi)中找到 ConfigureServices 方法 引用我們擴(kuò)展中的方法
4. 在項(xiàng)目中創(chuàng)建一個(gè)映射配置類(lèi),可以項(xiàng)目中的任何文件夾下,擴(kuò)展代碼中是通過(guò)反射找出程序集中的所有映射配置
public class UserProfile : Profile
{
public UserProfile()
ASPCMS批量上傳內(nèi)容{
// Add as many of these lines as you need to map your objects
CreateMap<UserInfo, UserInfoModel>();
CreateMap<UserInfoModel, UserInfo>();
}
}
5. 在 Controller中用構(gòu)造函數(shù)注入 IMapper
1
2
3
4
5
6
7
8
9
10
private readonly IMapper _mapper;
public UserInfoController(IUserInfoService userInfoService,
IUnitOfWork unitOfWork, ILogger<UserInfoController> logger, IMapper mapper)
{
_unitOfWork = unitOfWork;
_userInfoService = userInfoService;
ASPCMS批量刪除關(guān)鍵詞 _logger = logger;
_mapper = mapper;
}
6. 最后就可以使用mapper
1
2
3
4
5
6
7
8
9
ASPCMS批量添加欄目10
11
ASPCMS批量添加產(chǎn)品 12
13
14
15
16
17
public IActionResult AddUser(UserInfoModel model)
{
if (!ModelState.IsValid)
ASPCMS批量更新文章 {
return View(model);
}
var user = _mapper.Map<UserInfo>(model); //映射
var repoUser = _unitOfWork.GetRepository<UserInfo>();
repoUser.Insert(user);
var r = _unitOfWork.SaveChanges();
//_userInfoService.AddUserInfo();
return Json(new MgResult()
{
Code = r > 0 ? 0 : 1,
Msg = r > 0 ? "ok" : "SaveChanges失敗!"
});
}
上一篇:Twitter精心設(shè)計(jì)的分離式表單
下一篇:云勢(shì)軟件VirgoEDC助力安徽萬(wàn)邦、迪時(shí)咨詢(xún)等公司臨床試驗(yàn)數(shù)據(jù)采集智能化
文章地址:http://m.meyanliao.com/article/other/AutoMapperzaspnetcorezdsy.html

- 1通王CMS 2.0簡(jiǎn)介
- 2黑帽網(wǎng)站排名檢測(cè)
- 3MySQL中經(jīng)典的too many connection怎么破
- 4網(wǎng)易郵箱洪陸駕:反垃圾郵件需集合全球力量
- 5站群友鏈換鏈神器
- 6云勢(shì)軟件VirgoEDC助力安徽萬(wàn)邦、迪時(shí)咨詢(xún)等公司臨床試驗(yàn)數(shù)據(jù)采集智能化
- 7Authorize 屬性通過(guò)聲明的方式保護(hù)控制器或其部分方法
- 8域名是稀有資源,好的域名,在一定時(shí)期內(nèi)會(huì)越來(lái)越升值
- 9解析常見(jiàn)的PHP緩存技術(shù)有哪些
- 10對(duì)ASP.NET程序員非常有用工具