我的网站有一个简单的问题。
在我的网站内部,我使用的是两种不同的模型,具有一些相同的命名字段。
由于冲突,我必须给它们指定唯一的名称,并且为了不丢失模型绑定,我决定使用viewModels。
所以我有一个这样的模型:
namespace MySite.Models
{
public class Function : BaseEntity
{
//Beziehung zur Funktionsgruppe
[Required]
[Display(Name = "Übergeordnete Funktion")]
public int FunctionGroupId { get; set; }
public virtual FunctionGroup FunctionGroup { get; set; }
[Required]
[StringLength(200)]
[Display(Name = "Bezeichnung")]
public string Name { get; set; }
}
}
我有一个像这样的新ViewModel:
namespace MySite.ViewModels
{
public class FunctionViewModel
{
//Properties of BaseEntity
public int F_Id { get; set; }
[Display(Name = "Erstellt")]
public string F_Created { get; set; }
[Display(Name = "Bearbeitet")]
public string F_LastChange { get; set; }
[Display(Name = "Bearbeiter")]
public string F_ByUser { get; set; }
//Beziehung zur Funktionsgruppe
[Required]
[Display(Name = "Übergeordnete Funktion")]
public int F_FunctionGroupId { get; set; }
public virtual FunctionGroup F_FunctionGroup { get; set; }
[Required]
[StringLength(200)]
[Display(Name = "Bezeichnung")]
public string F_Name { get; set; }
}
}
现在我的问题是,有没有办法在加载ViewModel时自动获取对应模型的数据?
类似于{ get; set; }
内部的某种函数吗?
实际上,我逐个字段地将模型从模型加载到ViewModel中。
希望我能描述对,我想做的事。
卡斯滕
答案 0 :(得分:0)
您可以使用Automapper将数据从模型映射或获取到ViewModel,反之亦然。如果您的属性名称不同,那么将很难映射/配置,因此视图模型中的名称也相同。 (如果可能)