如何以最快的方式获取数据到视图模型

HowTo fetch data to viewmodel the quickest way

我的网站有一个简单的问题。
在我的站点中,我使用了两个不同的模型,其中有一些相同的命名字段。 由于冲突,我必须给它们唯一的名称,并且为了不失去模型绑定,我决定使用 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 中。

希望我能描述对,我想做什么。

卡斯滕

您可以使用 Automapper 将数据从模型映射或获取到视图模型,反之亦然。如果您的 属性 名称不同,您将很难 map/configure,因此在视图模型中也使用相同的名称。 (如果可能的话)