安装AutoMapping包

把订单实体映射成订单DTO实体

.ReverseMap()加上这个方法后 下面自定义 映射规则  第一个就是来源对象 第二个就是目标对象

https://www.cnblogs.com/fred-bao/p/5700776.html

ABP中 映射三种写法

1.第一种写法 直接在DTO上面写AutoMapper

[AutoMapTo]把当前类映射为Person

[AutoMapForm]把Person映射为当前类

2.第二种写法  创建映射类

在Module中注册

3.映射类继承Profile

相同类型对象进行映射

使用MapTo() 赋值不会报错   但是映射不成功    只能用MapTo<>()进行类型转换;   相同类型使用MapTo<>()进行映射  映射完成后  两个对象为同一个对象实例

            var aa = new Customer() { Name="张三",CustomerNumber="0001",Phone="150"};
var cc = new Customer() { Name="王五"};
aa.MapTo(cc);
var dd = aa.MapTo<Customer>();

  

            CreateMap<OrderInput, SalesOrder>()
.ForMember(dest => dest.Lines, opt => opt.Ignore());

把OrderInput对象映射为SalesOrder 对象的时候    SalesOrder 中的Lines属性不会被映射    Lines必须要是一个对象    如果只是一个属性就会报错

******************************

统一映射

创建映射类  有N个

    public class AccountProfile : Profile, IProfile
{
public AccountProfile()
{
CreateMap<Account, AccountDto>();
} }

  找到Iprofile接口所在的程序集

  找到这个程序集中所有继承IProfile的类

  统一注入映射规则

            var allTypes = typeof(IProfile)
.Assembly
.GetTypes()
.Where(type => type.IsClass)
.Where(type => typeof(IProfile).GetTypeInfo().IsAssignableFrom(type))
.ToList(); Mapper.Initialize(y =>
{
foreach (var type in allTypes)
{
y.AddProfiles(type);
}
});

  

关于AutoMApping 实体映射的更多相关文章

  1. 8.2 使用Fluent API进行实体映射【Code-First系列】

    现在,我们来学习怎么使用Fluent API来配置实体. 一.配置默认的数据表Schema Student实体 using System; using System.Collections.Gener ...

  2. 开源实体映射框架EmitMapper介绍

    开源实体映射框架EmitMapper介绍   综述       EmitMapper是一个开源实体映射框架,地址:http://emitmapper.codeplex.com/.       Emit ...

  3. EntityFramework 实体映射到数据库

    EntityFramework实体映射到数据库 在Entity Framework Code First与数据表之间的映射方式实现: 1.Fluent API映射 通过重写DbContext上的OnM ...

  4. EF Code First:实体映射,数据迁移,重构(1)

    一.前言 经过EF的<第一篇>,我们已经把数据访问层基本搭建起来了,但并没有涉及实体关系.实体关系对于一个数据库系统来说至关重要,而且EF的各个实体之间的联系,实体之间的协作,联合查询等也 ...

  5. EF Code First:实体映射

    二.实体映射 实体与数据库的映射可以通过DataAnnotation与FluentAPI两种方式来进行映射: (一) DataAnnotation DataAnnotation 特性由.NET 3.5 ...

  6. JdbcTemplate实体映射

    JdbcTemplate实体映射 如果你需要使用JdbcTemplate将查询的数据映射成Java POJO,那么这篇文章适合你. 一个例子入门 下面是一个将表中一行记录映射成Map的例子,也是Jdb ...

  7. 10.1.翻译系列:EF 6中的实体映射【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/configure-entity-mappings-using-fluent-api.a ...

  8. 【译】第23节---Fluent API - 实体映射

    原文:http://www.entityframeworktutorial.net/code-first/configure-entity-mappings-using-fluent-api.aspx ...

  9. abp 修改abp.zero的实体映射类,使生成的表和字段为大写状态

    在我们项目中,由于涉及到报表配置管理,可以通过一段sql快捷的配置出一个报表页面.部分sql会与abp框架的一些系统表做关联查询,而abp的映射类没有单独设置表和字段的名称,默认用类名和属性名,区分大 ...

随机推荐

  1. 对gulp的理解和使用(一)

    说的gulp,到底是什么?用来做什么的? 以前并没有想过这个问题,拿到公司的项目脚手架就开始做事情了.现在专门来总结一下. gulp干什么的呢? gulp是node中的一种代码构建工具,还有就是项目自 ...

  2. php+js 防止被抓包篡改数据,数据签名校验

    签名密钥,这个是自己生成的,需要客户端+服务端一致. <?php /** * 获取签名 * @param $data 提交的数据 * @param $key 安全密钥 * @return boo ...

  3. Spring Boot(八):RabbitMQ详解

    Spring Boot(八):RabbitMQ详解 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多 ...

  4. oracle 12c直方图收集的增强

    在oracle 12c之前,收集直方图信息是相对比较耗费资源的,因为要重复扫描几次:在oracle 12c中,则有较大的提升,具体可参考https://jonathanlewis.wordpress. ...

  5. c++ linux下输出中文

    同样,使用的是VS FOR LINUX进行测试. converting to execution character set: Invalid or incomplete multibyte or w ...

  6. 苹果笔记本充不进电怎么办_macbook充不进电解决办法

    使用苹果Macbook的用户可能会遇到这种情况,使用一段时间后自己的苹果笔记本充不进电了,虽然充电器指示灯依然亮着,但是电池电脑一直充不进去,断开充电器后就直接关机的情况.通常碰到这种情况,很多用户都 ...

  7. k8s tensorflow

    Online learning github source Kubeflow实战系列 Prepare 了解ksonnet初探Google之Kubeflow (采用的是0.8.0)install dep ...

  8. Bootstrap3基础 form-horizontal 表单元素横向布局 简单示例

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  9. vue学习【第五篇】:Vue组件

    什么是组件 - 每一个组件都是一个vue实例 - 每个组件均具有自身的模板template,根组件的模板就是挂载点 - 每个组件模板只能拥有一个根标签 - 子组件的数据具有作用域,以达到组件的复用 根 ...

  10. DataTabel 与DataView之间的转化

    DataTable转为DataView,或者反之转化, 使用的是文档/试图模型,DataTable可以有多个视图,这样就可以不需要借助List类型对dataTable数据进行筛选或者排序 //Data ...