我有一個模型,我的表所有者轉換模型轉換爲視圖模型
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; }
}
}
,然後我有我的視圖模型
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
而不重寫我的對象的單個屬性?
有一種方法,但它確實不簡單.keep這種方式 –
有些工具使用「反射」,並通過匹配屬性名稱來爲你做這件事。我現在要保持這種方式,但會在接受Owner對象的OwnerData中添加一個構造函數並執行此操作。 –
@ Khudairy我想我使用** Automapper **通過** Mapper.CreateMap(); **然後** OwnerData ownerData = Mapper.Map ( CustomDbFunctions.GetUserEntity(User,db).Owner); ** –
Sefira