这是我的分类模型:
public class Category :IAggregateRoot
{
public Guid Id { get; set; }
public string Name { get; set; }
}
这是我的CategoryViewModel:
public class CategoryViewModel
{
public Guid CategoryId { get; set; }
public string Name { get; set; }
}
我想用Automapper将此类别转换为CategoryViewModel,如果我将CategoryViewModel中的CategoryId更改为Id,则可以!但在这种情况下,我没有在我的控制器中获得Guid值!我怎么能把这些投射到Guid对方? 这也是我的mapper类:
public static CategoryViewModel ConvertToCategoryViewModel(this Category category)
{
return Mapper.Map<Category, CategoryViewModel>(category);
}
答案 0 :(得分:3)
在某些时候,您可能正在通过调用
来设置自动映射器映射Mapper.CreateMap<CategoryModel, CategoryViewModel>();
在CreateMap之后,调用
.ForMember(m=>m.CategoryId, c=>c.mapfrom(d=>d.Id)).
这告诉自动映射器从Id
属性映射categoryId属性。
编辑:完整代码看起来像:
// in app start
Mapper.CreateMap<CategoryModel, CategoryViewModel>()
.ForMember(cvm => cvm.CategoryId, c => c.MapFrom(cm => cm.Id));
// in you mapping method:
return Mapper.Map<CategoryModel, CategoryViewModel>(categoryModel);