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);