gpt4 book ai didi

c# - 具有默认值的自动映射列表

转载 作者:太空狗 更新时间:2023-10-29 22:23:36 25 4
gpt4 key购买 nike

我的问题基本上可以简化为以下一组实体:

我有一个实体说:MyEntity,它有一个 EntityTiming 列表(名为 Timings)

public class Entity{

public List<EntityTiming> Timings {get;set;}

}

它对应于一个 ViewModel :MyEntityViewModel,它有一个 TimingViewModel 列表(命名为 Timings)。

public class EntityViewModel
{
public IList<TimingViewModel> Timings {get;set;}
}

我为映射方向配置了以下规则:entity -> viewModel

Mapper.CreateMap<Entity,EntityViewModel>

Mapper.CreateMap<EntityTiming,TimingViewModel>

EntityViewModel.Timings 必须 有 7 个项目。然而,Enitity.Timings 可能少于 7 个项目/永远不会超过

我的问题是:如果使用 AutoMapper 的列表中的项目为 null,是否有办法提供默认值

最佳答案

你可以使用AfterMap():

Mapper.CreateMap<Entity, EntityViewModel>()
.AfterMap((src, dest) => {
if (dest.Timings == null) {
// Populate default values
}
else if (dest.Timings.Count < 7) {
// Populate the rest of the values
}
});

关于c# - 具有默认值的自动映射列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086452/

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