AutoMapper入门 简单使用

第一步:导入automapper

  确定使用位置,通过NuGet包导入AutoMapper.

第二步:使用AutoMapper

  添加一个类文件,继承Profile.创建无参构造,配置关系;

例: 

//class1转换成DTO类,Class1为model类,Class1DTO为DTO类,type为Type类,class1中存在TypeCode与Type表关联

  CreateMap<Class1, Class1DTO>()  

.ForMember(s => s.TypeName, sp => sp.MapFrom(src => src.Type.TypeName));


//class1DTO转换为model类

CreateMap<Class1DTO, Class1>()


第三步:修改ToDTO方法,ToModel方法

//ToModel方法修改

var Class1Info = Mapper.Map<DTOClass1, Class1>(dtoClass1Info);


//ToDTO方法修改

var class1DtoInfo = Mapper.Map<Class1, Class1DTO>(class1Info);


第四步:在运行程序全局应用文件Global.asax.cs中添加配置

Mapper.Initialize(a => a.AddProfile(typeof (BLLMapper)));  BllMapper为第二步添加的类文件名


注:当表中存在导航属性,即包含其他表数据,并在类中声明了属性时,需在配置中配置

例:

//导航属性

class Class1

  public string TypeCode{get;set;}

   public Type Type{get;set;}


class Type 

 public string TypeCode{get;set;}

 pulic string TypeName {get;set;}


//关系配置

 CreateMap<Class1, Class1DTO>()  

.ForMember(s => s.TypeName, sp => sp.MapFrom(src => src.Type.TypeName));


@@重点: ProjectTo的使用:

//获取Class1所有数据

var classData= Class1DAL.getData();

//通过projectTo直接集合之间对象类型转换;但只有是简单关系才可使用,即没有导航属性,或者指明了导航属性(如上例)

var class1Dto = classData.ProjectTo<Class1DTO>().ToList();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值