我的问题可以简化为以下几组实体:
我有一个实体说:MyEntity它有一个列表EntityTiming(名为Timings)
public class Entity{
public List<EntityTiming> Timings {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
它对应于一个ViewModel:MyEntityViewModel它有一个列表TimingViewModel(名为Timings).
public class EntityViewModel
{
public IList<TimingViewModel> Timings {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我为映射方向配置了以下规则: entity -> viewModel
Mapper.CreateMap<Entity,EntityViewModel>
Mapper.CreateMap<EntityTiming,TimingViewModel>
Run Code Online (Sandbox Code Playgroud)
EntityViewModel.Timings 必须有7个项目.但是Enitity.Timings可能少于7项/从不多.
我的问题是:如果列表中的项为空,有没有办法提供默认值 AutoMapper
Ste*_*tty 11
你可以使用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
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |