我为我的桌子主人准备了一个模型
namespace MyApp.Models
{
public partial class Owner
{
public int owner_id { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string address { get; set; }
public string city { get; set; }
public virtual User User { get; set; }
}
}然后我有了我的ViewModel
public partial class OwnerData
{
public string firstname { get; set; }
public string lastname { get; set; }
public string address { get; set; }
}我的控制器
public ActionResult Index()
{
//Create the object Owner based on the User Identity
Owner owner = CustomDbFunctions.GetUserEntity(User, db).Owner;
//New instance of the ViewModel
OwnerData ownerData = new OwnerData();
ownerData.lastname = owner.lastname;
ownerData.firstname = owner.firstname;
ownerData.address = owner.address;
return View(ownerData);
}有一种更简单的方法可以将我的owner转换成ownerData,而无需重写对象的每一个属性?
发布于 2014-01-10 13:20:58
我想我用Automapper解决了这个问题
public ActionResult Index()
{
//Create the object Owner based on the User Identity
Owner owner = CustomDbFunctions.GetUserEntity(User, db).Owner;
Mapper.CreateMap<Owner, OwnerData>();
OwnerData ownerData = Mapper.Map<Owner, OwnerData>(owner);
return View(ownerData);
}或者如果您喜欢动态函数
static TDestination GenerateMappingTable<TSource, TDestination>(TSource inputModel)
{
Mapper.CreateMap<TSource, TDestination>();
return Mapper.Map<TSource, TDestination>(inputModel);
}要安装Automapper,只需执行
PM> Install-Package AutoMapper来自包管理器控制台。
发布于 2014-01-09 16:53:22
您可以使用对象初始化器.That使其更简单,但我不确定这是您想要的
OwnerData ownerData = new OwnerData {
lastname = owner.lastname;
firstname = owner.firstname;
address = owner.address;
};https://stackoverflow.com/questions/21026270
复制相似问题