初识Web框架--AutoMapper的应用

前一章节我们讲了Model与ViewModel,有提到利用AutoMapper来进行两种模型数据转化,简化代码。

一步曲:安装AutoMapper插件

在需要添加加载automapper工程项目的引用中有个"管理NugGet程序包(N)..."功能,进入后安装AutoMapper插件,安装后如图:

加载AutoMapper插件

二步曲:建立自动注册机制

Web开发平台中,我们利用继承IStartupTask接口来实现相关模型自动映射的注册,AutoMapperStartupTask在工程启动时会自动执行函数Execute()。

public class AutoMapperStartupTask : IStartupTask {
        public void Execute()
        {
                Mapper.CreateMap<SystemUser, UserInfoViewModel>()
                .ForMember(dest => dest.Department, mo => mo.Ignore())
                .ForMember(dest => dest.DepartmentName, mo => mo.Ignore());
                Mapper.CreateMap<UserInfoViewModel, SystemUser>().ForMember(dest => dest.Roles, mo => mo.Ignore());

三步曲:模型AutoMapper映射

AutoMapper插件

AutoMapper主要提供.Map()、.CreateMap()、.DynamicMap()三个函数。

public class AutoMapperStartupTask : IStartupTask {
        public void Execute()
        {
                Mapper.CreateMap<SystemUser, UserInfoViewModel>()
                .ForMember(dest => dest.Department, mo => mo.Ignore())
                .ForMember(dest => dest.DepartmentName, mo => mo.Ignore());
                Mapper.CreateMap<UserInfoViewModel, SystemUser>().ForMember(dest => dest.Roles, mo => mo.Ignore());

如上示例:CreateMap建立源目标和目的目标数据映射关系,如果需要指定两数据模型之间字段关系就显示调用ForMember方法。注意:CreateMap是单向映射, CreateMap<tsource, tdestination=>(),只会是tdestination数据拷贝到tsource相应字段。

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:华晨软件-云微开发平台 » 初识Web框架--AutoMapper的应用
本文标题:初识Web框架--AutoMapper的应用
本文地址:https://www.hocode.com/OrgTec/back/0004.html

相关文章: .NET MVC5路由机制详细讲解 ¦

电话
电话 18718672256

微信
二维码