gpt4 book ai didi

c# - AutoMapper,在自定义类型转换器中调用 Mapper.Map()?

转载 作者:太空宇宙 更新时间:2023-11-03 11:18:25 25 4
gpt4 key购买 nike

我目前正在使用 AutoMapper 进行测试,但我目前遇到属性名称彼此不匹配的情况,因此需要自定义类型转换。但是当我使用自定义类型转换器时,我必须手动映射所有其他属性吗?当然,我不能在类型转换器中调用另一个 Map,因为这会导致溢出。

这是不需要的,因为每个模型最多有 3 个模型特定属性不匹配,所以我确实希望自动映射其他属性。

有人能为我指出正确的方向吗?

最佳答案

您不需要使用自定义类型转换器来映射类,其中有一些属性只是名称不匹配。自定义类型转换器适用于您需要的时候,as they say ,“完全控制一种类型到另一种类型的转换”。

使用 CreateMap() 设置 map ,然后使用 ForMember() 设置一些额外的规则,如下所示:

Mapper.CreateMap<Person, Customer>()
.ForMember(dest => dest.Surname, opt => opt.MapFrom(src => src.LastName))
.ForMember(dest => dest.DateOfBirth, opt => opt.MapFrom(src => src.DOB));

这将 LastNameDOB 从源 Person 类映射到 SurnameDateOfBirth 目标 Customer 类的属性。

关于c# - AutoMapper,在自定义类型转换器中调用 Mapper.Map()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11883412/

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