遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

关于EmitMapper,映射配置

        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设置
同名的也类似,后一次配置不会覆盖同名的前一次配置,即后一次配置无效(后一次,指代码被调用先后)

posted on 2014-11-20 17:17  遗忘海岸  阅读(1823)  评论(1编辑  收藏  举报