automapper实体中的映射和聚合根中的使用
2024-09-01 09:52:44
一,如下例子:
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace AutoMapper2
{
class Program
{
static void Main(string[] args)
{
//实体属性完全一致映射
Test.InitAutoMapper<ProductDto, Product>();
ProductDto userDto = new ProductDto()
{
Name = "实体映射",
Num = ,
};
//实体间的映射不区分大小写
var o = Mapper.Map<ProductDto, Product>(userDto);
var t = Mapper.Map<Product, ProductDto3>(o); //当属性命名大小写不一致时
Test.InitAutoMapper<ProductDto3, Product>();
ProductDto3 userDto3 = new ProductDto3()
{
Id = ,
Name = "实体映射",
Num = ,
Price =
};
//实体间的映射不区分大小写
var oDomain = Mapper.Map<ProductDto3, Product>(userDto3);
var te = Mapper.Map<Product, ProductDto3>(oDomain); //有DTO模式到聚合根的转换
ProductDto2 userDto2 = new ProductDto2()
{
Name2 = "实体映射",
Num2 = ,
Address = "XXX"
};
var map = Mapper.CreateMap<ProductDto2, Product>()
.ForMember(d => d.Name, opt => opt.MapFrom(x => x.Name2))
.ForMember(d => d.adress.Name, opt => opt.MapFrom(x => x.Address)); var tt = Mapper.Map<ProductDto2, Product>(userDto2); }
}
public class Test
{
public static void InitAutoMapper<DtoModel, DomainModel>()
{
var oType = Mapper.FindTypeMapFor<DtoModel, DomainModel>();
if (oType == null)
{
Mapper.CreateMap<DtoModel, DomainModel>();
Mapper.CreateMap<DomainModel, DtoModel>();
}
}
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int Num { get; set; }
public int Price { get; set; }
public Adress adress { get; set; } } public class Adress
{
public string Name { get; set; }
}
public class ProductDto
{
public string Name { get; set; }
public int Num { get; set; }
}
public class ProductDto2
{
public string Name2 { get; set; }
public int Num2 { get; set; } public string Address { get; set; }
}
public class ProductDto3
{
public int Id { get; set; }
public string Name { get; set; }
public int Num { get; set; }
public int Price { get; set; }
}
}
最新文章
- 网站建设用的HTTP状态码
- Javascript模板引擎:Hogan
- 【EF 译文系列】模型和数据库连接
- Completely disable mousewheel on a WinForm
- 创建表 添加主键 添加列常用SQL语句
- 九度oj 1407 快速找出最小数
- c# datatable list 相互转换
- HDU 3467 (求五个圆相交面积) Song of the Siren
- Django新手图文教程
- java文件io过滤器
- Koa -- 基于 Node.js 平台的下一代 web 开发框架
- getline函数(精华版)
- Java虚拟机结构
- 【uWSGI】实战之Django配置经验
- SQLI LABS Challenges Part(54-65) WriteUp
- JS 获取最近(前)7天(一周内)和最近(前)3天日期
- Magic Stones CodeForces - 1110E (思维+差分)
- Apollo 框架的剖析1
- TZOJ:最大连续子序列
- RocketMq --consumer自动实现负载均衡