c# – AutoMapper数据填充
发布时间:2020-12-16 01:45:40  所属栏目:百科  来源:网络整理 
            导读:是否可以使用AutoMapper来填充另一个对象的详细信息?例如(假设先前的配置): var foo = new Foo { PropA = "",PropB = "Foo" };var bar = new Bar { PropA = "Bar",PropB = "" };Mapper.MapFoo,Bar(foo,bar);Console.WriteLine(bar.PropB); //Returns "Foo"
                
                
                
            | 
 是否可以使用AutoMapper来填充另一个对象的详细信息?例如(假设先前的配置): 
  
  
  var foo = new Foo { PropA = "",PropB = "Foo" };
var bar = new Bar { PropA = "Bar",PropB = "" };
Mapper.Map<Foo,Bar>(foo,bar);
Console.WriteLine(bar.PropB); //Returns "Foo"只是想知道是否有人尝试过这种奇怪的映射用法,这更像是将一个对象的匹配数据合并到另一个对象中. 提前致谢! 更新: 对于这种情况,看起来ValueInjector也更合适.在StackOverflow上已经对AutoMapper与ValueInjecter的适当用法进行了一些很好的讨论. 解决方法
 如果属性名称匹配,则它们将自动映射.如果由于某种原因他们没有,您可以自己指定映射. 
  
  如下所示,PropA与PropertyA不匹配,因此您必须指定映射.但是,PropB匹配,所以你没有. var foo = new Foo { PropA = "",PropB = "Foo" };
var bar = new Bar { PropertyA = "Bar",PropertyB = "" };
Mapper.CreateMap<Foo,Bar>()
      .ForMember(dest => dest.PropertyA,opt => opt.MapFrom(src => src.PropA));
Mapper.Map<Foo,bar);(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
相关内容
