我的网站有一个简单的问题。
在我的网站中,我使用了两种不同的模型,具有一些相同的命名字段。 由于冲突,我必须为它们指定唯一的名称,并且为了不丢失模型绑定,我决定使用 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; }
}
}
我有一个新的视图模型,如下所示:
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中。
希望我能描述 对,我想做什么。
卡斯滕
您可以使用自动映射器将数据从模型映射到视图模型,反之亦然。如果您的物业名称不同,您将很难映射/配置,因此在视图模型中也要使用相同的名称。(如果可能(