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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容