我有一个包含几个FK引用的基本表。因此,当我为更新操作检索一个实体时,该实体包含相关实体的ICollections。我还有一个主viewModel,其中每个实体都是一个子ViewModel。我的目标是使用Automapper,例如:
mapper.Map(MainViewmodel obj,MainEntity obj); 为此,我有一个MappingConfiguration,类似于:
CreateMap<MainViewModel, MainEntity>();
CreateMap<subViewModel1, subEntity1>();
CreateMap<subViewModel2, subEntity2>();这给了我一个未映射的属性异常,因为ICollections没有被映射。有人能告诉我处理这种情况的最佳方法吗?
谢谢。
发布于 2017-12-21 12:44:08
如果我没听错的话,你有这样的课:
class MainViewModel
{
ICollection<SubViewModel1> SubViewModels { get;set; }
}
class SubViewModel1
{
}和
class MainEntity
{
ICollection<SubEntity1> SubEntities { get;set; }
}
class SubEntity1
{
}然后,您应该为每个类创建规则,并自动收集此类类的自动映射。
CreateMap<MainViewModel, MainEntity>();
CreateMap<SubViewModel1, SubEntity1>();地址1:
var mappedMainEntity = rmapper.Map<MainEntity>(MainViewmodel obj);MainEntity映射到MainViewModel,则需要添加.ReverseMap()来映射规则,如下所示:
CreateMap().ReverseMap();CreateMap().ReverseMap();加法2:
ForMember方法和MapFrom选项。示例https://stackoverflow.com/questions/47925111
复制相似问题