gpt4 book ai didi

自动映射器 : partial mapping

转载 作者:行者123 更新时间:2023-12-02 23:08:10 26 4
gpt4 key购买 nike

我正在使用 Automapper 将数据从 objectA 传输到 objectB

classe ObjectA
{
string Title;
string Summary;
}

classe ObjectB
{
string Title;
string Summary;
IAddress Address;
}

我在两个对象之间创建了这种映射

AutoMapper.Mapper.CreateMap<IObectA, IObjectB>()
.ForMember(dest => dest.Title, src => src.MapFrom(s => s.Title))
.ForMember(dest => dest.Summary, src => src.MapFrom(s => s.Summary))
.ForMember(dest => dest.Address, src => src.Ignore())

我创建了我的 ObjectB 并填充了它的所有属性,包括地址

当我调用映射器时,我期望它覆盖标题和摘要并忽略地址

ObjectB = Mapper.Map<IObjectA, IObjectB>(objectA); 

其实就是Address的抛出异常。

我做错了什么?

[更新]为了以不同的方式表达它,我有我的 objectB,我想用来自 ObjectA 的数据更新它的一部分。当我说忽略时,我的意思是让数据保持原样

最佳答案

我找到了解决方案。

我刚刚发现 Map 方法有一个重载版本,除了预实例化的目标对象之外。感谢这个article

Mapper.Map<IObjectA, IObjectB>(objectA, ObjectB ); 

@JoDG,感谢您的帮助

关于自动映射器 : partial mapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5375097/

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