大数据

Hi, 请登录

.NET Core中使用OOM框架,AutoMapper的使用介绍

推荐阅读:SEO干货网站内部链接优化与整站优化>>    推荐阅读:一份完整的企业公众号运营草案>>   

(一)什么是OOM:

OOM顾名思义,Object-Object-Mapping实体间相互转换,AutoMapper其意义在于帮助你无需手动的转换简单而又麻烦的实体间关系。

(二)AutoMapper是什么:

AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DTO,一般用于ViewModel模式和跨 服务范畴。

(三)在.NET Core项目中如何使用它:

1.通过Nuget安装AutoMapper到项目:Install-Package AutoMapper

2.定义好Model类和DTO类:

复制代码
//Model类public class ProjectEntity
{    public int ID { get; set; }    public string ProjectName { get; set; }    public string ProjectImg { get; set; }    public string ProjectCreateDate { get; set; }    public List<ProjectTaskEntity> Tasks { get; set; }

}
复制代码

 

复制代码
//DTO类public class ProjectDto
{    public int ProjectID { get; set; }    public string ProjectName { get; set; }    public string ProjectImg { get; set; }    public string ProjectCreateDate { get; set; }    public List<ProjectTaskDto> Tasks { get; set; }
}
复制代码

3.配置映射关系,在ConfigureServices方法中加入映射关系:

//配置为双向映射CreateMap<ProjectTaskDto, ProjectTaskEntity>()
.ReverseMap();

4.如果Model类中的部分字段与DTO的字段不一致时,如何映射呢?

CreateMap<ProjectDto, ProjectEntity>()
.ReverseMap()
.ForMember(des => des.Date, opt => opt.MapFrom(src => src.CreateTime.ToString("yyyy-MM-dd hh:mm:ss")));

5.执行映射转换:

//获取实体对象ProjectEntity _projectEntity = GetProjectsByDB(projectid);//将实体对象映射到DTOProjectDto _projectDto = _mapper.Map<ProjectDto>(_projectEntity);

6.如果是集合该如何转换呢?

var ProjectEntitys = AutoMapper.Mapper.Map<List< ProjectEntity>, List< ProjectDto >>( _projectEntitys);


来源【大数据】,更多内容/合作请关注「辉哥智库」公众号,赠文案训练手册电子书。

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

评论

  • 昵称 (必填)
  • 邮箱
  • 网址
二维码
评论