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?
我想把表的数据(它是第一个模型的输出类型)放入第二个模型并返回它
您可以创建一个将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);