Asp.net mvc 汽车制造商问题

Asp.net mvc 汽车制造商问题,asp.net-mvc,automapper,Asp.net Mvc,Automapper,我有几个关于AutoMapper的问题 1我有一个名为Category的类和一个名为CategoryViewModel的视图模型。我需要为每个方向创建映射吗 Mapper.CreateMappof Category,CategoryViewModel Mapper.CreateMappof CategoryViewModel,类别 2如何创建地图集合?我有一个CategoryListViewModel,它只有一个属性IEnumberableOf CategoryViewModel。我想从我的服务

我有几个关于AutoMapper的问题

1我有一个名为Category的类和一个名为CategoryViewModel的视图模型。我需要为每个方向创建映射吗

Mapper.CreateMappof Category,CategoryViewModel Mapper.CreateMappof CategoryViewModel,类别

2如何创建地图集合?我有一个CategoryListViewModel,它只有一个属性IEnumberableOf CategoryViewModel。我想从我的服务中填充返回iQueryTableOf类别的内容

谢谢

您只需定义一次映射。AutoMapper足够聪明,能够找出如何从两个方向进行映射

AutoMapper足够聪明,知道在通过调用.CreateMap注册类型映射后如何映射到集合。因此,不必为映射类型的集合创建类型映射。AutoMapper将遍历集合并映射其中包含的每个对象

要让AutoMapper映射到列表,只需调用list destination=Mapper.map 您只需定义一次映射。AutoMapper足够聪明,能够找出如何从两个方向进行映射

AutoMapper足够聪明,知道在通过调用.CreateMap注册类型映射后如何映射到集合。因此,不必为映射类型的集合创建类型映射。AutoMapper将遍历集合并映射其中包含的每个对象


要让AutoMapper映射到列表,只需调用list destination=Mapper.MapFor 1,我刚刚为实体创建了一个映射到dto。然后我尝试将dto的实例映射回实体,但没有成功:缺少类型映射配置或映射不受支持。如果实体对象中的属性不在dto中,则可能还需要定义映射。完整的错误消息是什么?实际上,您可能是对的,您可能需要为两个方向添加注册,即使两种类型之间的所有属性都相同……我想它们可能不是。对于1,我刚刚创建了一个仅用于实体到dto的映射。然后我尝试将dto的实例映射回实体,但没有成功:缺少类型映射配置或映射不受支持。如果实体对象中的属性不在dto中,则可能还需要定义映射。完整的错误消息是什么?事实上,您可能是对的,您可能需要为两个方向添加注册,即使两种类型之间的所有属性都相同……我想它们可能不是。
Mapper.Map<List<TypeFrom>, List<TypeTo>)(sourcObject);