ZhouliProject/Zhouli.Dto/ZhouliDtoMapper.cs
(完整代码) 2KB#region 版权声明
/****************************************************************
* 作 者:周黎
* CLR 版本:4.0.30319.42000
* 创建时间:2018/6/19 20:58:41
* 当前版本:1.0.0.1
*
* 描述说明:
*
* 修改历史:
*
*****************************************************************
* Copyright @ ZhouLi 2018 All rights reserved
*┌──────────────────────────────────┐
*│ 此技术信息周黎的机密信息,未经本人书面同意禁止向第三方披露. │
*│ 版权所有:周黎 │
*└──────────────────────────────────┘
*****************************************************************/
#endregion
using AutoMapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
namespace Zhouli.DbEntity.ModelDto
{
/// <summary>
/// model转换dto配置
/// </summary>
public class ZhouliDtoMapper
{
/// <summary>
/// 配置DTO映射关系
/// </summary>
public static void Initialize()
{
//利用反射动态映射
Mapper.Initialize(MappingAutoMapper);
}
private static void MappingAutoMapper(IMapperConfigurationExpression cfg)
{
//先找出Model所有实体类
List<Type> modelTypes = Assembly.Load("Zhouli.DbEntity").GetTypes().Where(t=>t.Namespace.Equals("Zhouli.DbEntity.Models")).ToList();
//model对应的Dto实体(注意:这里我做了命名约定,所有对应实体的Dto对象都以Dto结尾)
List<Type> modelDtoTypes = Assembly.GetExecutingAssembly().GetTypes().Where(t => t.Name.EndsWith("Dto")).ToList();
foreach (var dtoType in modelDtoTypes)
{
var modelType = modelTypes.Where(t => t.Name.StartsWith(dtoType.Name.Replace("Dto", ""))).First();
cfg.CreateMap(dtoType, modelType);
cfg.CreateMap(modelType, dtoType);
}
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。