在ABP框架中使用MapTo容易犯的错误

时间:2023-03-08 16:49:32
在ABP框架中使用MapTo容易犯的错误

用自己的话说:MapTo其实就是两个实体间的数据转换。不用像以前那样p.name=p1.name 这样赋值,一旦实体的属性多到十几个以上的时候,这样赋值代码就显得有些臃肿了,如下面:

ResourceUpLoadDto input=new ResourceUpLoadDto();

Resource entity = new Resource()
            {
                ProductName = input.ProductName,
                UnitPrice = input.UnitPrice,
                Company = input.Company,
                Number = input.Number,
                DeliveryDate = input.DeliveryDate,
                SingleWeight = input.SingleWeight,
                Specification = input.Specification,
                Model = input.Model,
                BrandName = input.BrandName,
                Material = input.Material,
                Drawingno = input.Drawingno,
                Standard = input.Standard,
                TechnicalParameters = input.TechnicalParameters,
                ProductRemark = input.ProductRemark,
                UploadTime = input.UploadTime
            };

使用Mato只需要一句话:entity.MapTo<ResourceUpLoadDto>();

AutoMap:当前实体和映射实体相互都可以转换

AutoMapFrom:当前实体只能转为映射实体

举例说明我在使用这个MapTo时候操过的坑。

实体类:

在ABP框架中使用MapTo容易犯的错误

资源列表展示Dto:注意在这个类上面写上这个标记:  [AutoMap(typeof(Resource))]

在ABP框架中使用MapTo容易犯的错误

注意上面标记的地方,这里我犯了两次错误!!!这里面不能直接写实体

修改方式新建一个用户的Dto:

在ABP框架中使用MapTo容易犯的错误

然后在资源列表Dto中改为:

在ABP框架中使用MapTo容易犯的错误

还有一个注意点:属性名User的写法也要与实体中的写法保持一致!!!