提问者:小点点

如何将数据从模型添加到具有相同字段的模型中?


public class UserTBModel
{
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual Role Role { get; set; }

}

public class UserViewModel
{
    public int ID { get; set; }
    public string Name { get; set; }
}

如何将数据从模型添加到具有相同字段的模型中?

如何使UserViewModel=UserTBModel?

我想把表的数据(它是第一个模型的输出类型)放入第二个模型并返回它


共2个答案

匿名用户

您可以创建一个将UserTBModel作为参数的构造函数:

 public class UserViewModel {
    public UserViewModel(UserTBModel userTBModel) {
        this.ID = userTBModel.ID;
        this.Name = userTBModel.Name;
    }

    public int ID { get; set; }
    public string Name { get; set; }
 }

后来呢:

var userViewModel = new UserViewModel(userTBModel);

匿名用户

由于这两个类之间没有继承关系,所以这不是你可以开箱即用的事情。您需要使用refelection来解决这个问题,幸运的是,有几个映射器可以为您做这件事。其中之一是自动寻宝器。安装AutoMapper并执行以下操作:

UserTBModel userTBModel;
var config = new MapperConfiguration(cfg => cfg.CreateMap<UserTBModel, UserViewModel>());
var mapper = config.CreateMapper();
UserViewModel model = mapper.Map<UserViewModel>(userTBModel);