使用AutoMapper将Null转为空字符或0等默认值

本文介绍了如何使用AutoMapper在C#中配置,当遇到Null属性时自动转换为默认值,如0、空字符串等。详细讲述了IMap接口、MapFactory以及ValueTransformers的使用,并提供了Demo下载链接。
摘要由CSDN通过智能技术生成

AutoMapper的一些配置

使用的Core3.0 和frame4.5可能会有一些区别
记录自己写的Mapper的配置 有不好的地方欢迎指正
可以对为Null的属性进行一些默认值的配置 转换方法在MapFactory 中的ValueTransformers
int? -> 0
datetime? ->datetime.now
bool? ->false
string->""
下面的项目中只设置了自己map自己才会对null附加默认值
如果在项目中使用 请在程序启动时就调用MapFactory.GetMapper()方法
下载地址:
CSDN:https://download.csdn.net/download/qq_35219163/12358646
码云:https://gitee.com/hongxiang2/Automapper
百度云: https://pan.baidu.com/s/14BzKOsQbtgX35TqyqmoK-w
提取码:v2s5

IMap接口

   public interface IMap
    {
   
        public const string MapFuncName = nameof(GetMapTypes);
        /// <summary>
        /// 需要交给MapFactory进行map的类型
        /// </summary>
        /// <returns></returns>
        public List<Type> GetMapTypes();
        /// <summary>
        /// 自定义的map规则
        /// </summary>
        /// <param name="ex"></param>
        void CustomMap(MapperConfigurationExpression ex);
    }

继承IMap (DogMap)

    public class DogMap : IMap
    {
   
        public void CustomMap(MapperConfigurationExpression ex)
        {
   
           ///指定映射字段 或其他自定义映射 指定TString 映射为TString2
           // ex.CreateMap< DogDTO, DogModel>()
           //.ForMember(dest => dest.TString, options => options.MapFrom(
           // src => src.TString2 ));
        }
        public List<Type> GetMapTypes()
        {
   
            var list = new List<Type>
            {
   
                typeof(DogModel),
                typeof(DogDTO),
                typeof(DogPVO),
            };
            return list;
        }
    }

Model DTO 与PVO

 public class DogModel//DogModel DogDTO DogPVO字段全部一样 实际开发PVO字段可能会少一些
    {
   
        public string TString {
    get; set; }
        public string TString2 {
    get; set; }
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值