C# 将模型转换为视图模型
这是我的分类模型:C# 将模型转换为视图模型,c#,mvvm,automapper,C#,Mvvm,Automapper,这是我的分类模型: public class Category :IAggregateRoot { public Guid Id { get; set; } public string Name { get; set; } } 这是我的分类视图模型: public class CategoryViewModel { public Guid CategoryId { get; set; } public
public class Category :IAggregateRoot
{
public Guid Id { get; set; }
public string Name { get; set; }
}
这是我的分类视图模型:
public class CategoryViewModel
{
public Guid CategoryId { get; set; }
public string Name { get; set; }
}
我想用Automapper将这个类别转换为CategoryViewModel,如果我将CategoryViewModel中的CategoryId更改为Id,就可以了!但是在这种情况下,我的控制器中没有Guid值!我怎样才能将它们相互转换为Guid??
这也是me mapper类:
public static CategoryViewModel ConvertToCategoryViewModel(this Category category)
{
return Mapper.Map<Category, CategoryViewModel>(category);
}
public static CategoryViewModel ConvertToCategoryViewModel(此类别)
{
返回Mapper.Map(类别);
}
在某些时候,您可能正在通过调用
Mapper.CreateMap<CategoryModel, CategoryViewModel>();
这会告诉自动映射器从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);
//应用程序内启动
Mapper.CreateMap()
.ForMember(cvm=>cvm.CategoryId,c=>c.MapFrom(cm=>cm.Id));
//在映射方法中:
返回Mapper.Map(categoryModel);
我想知道我在lambda表达式中没有得到任何东西!我使用这行代码,但在lambda表达式中没有Id和categoryId!返回Mapper.CreateMap().FormMember();你能发布你现在尝试使用的完整代码吗?在appstart上应该运行createmap+ForMember语句,在转换方法中应该运行map调用。
// 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);