关于EmitMapper,映射配置

本文介绍了如何使用EmitMapper库中的ObjectMapperManager进行对象映射,并展示了两种不同的配置方法:一种用于完整字段映射,另一种则排除特定字段。通过实例说明了配置名称的重要性,以及在多次调用中配置不会被覆盖的特性。
        public static T Snapshoot<T>(this XtraForm form, T obj)
        {
            var config = new DefaultMapConfig();
            config.SetConfigName("AllField");
            var map = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<T, T>(config);
            var config2 = map.MapperImpl.MappingConfigurator as DefaultMapConfig;
            
            
            return  map.Map(obj);
        }
        public static T Restore<T>(this XtraForm form, T src, T tag)
        {
            var config = new DefaultMapConfig().IgnoreMembers<T, T>(new string[] { "EntityKey", "EntityState" });
            config.SetConfigName("NoEntityKey");
            var map = EmitMapper.ObjectMapperManager.DefaultInstance.GetMapper<T, T>(config);
            var config2 = map.MapperImpl.MappingConfigurator as DefaultMapConfig;
      
            return map.Map(src,tag);
        }
View Code

如果不指定config名称,那么后一次调用不会覆盖前一次调用的config设置
同名的也类似,后一次配置不会覆盖同名的前一次配置,即后一次配置无效(后一次,指代码被调用先后)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值