gpt4 book ai didi

c# - AutoMapper数据填充

转载 作者:行者123 更新时间:2023-11-30 14:16:53 25 4
gpt4 key购买 nike

是否可以使用 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>(foo, bar);

关于c# - AutoMapper数据填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com