Asp.net mvc 如何以最快的方式将数据提取到viewmodel

Asp.net mvc 如何以最快的方式将数据提取到viewmodel,asp.net-mvc,model,viewmodel,Asp.net Mvc,Model,Viewmodel,我的网站有一个简单的问题。 在我的站点中,我使用了两种不同的模型,带有一些相同的命名字段。 由于冲突,我必须给它们唯一的名称,为了不丢失modelbinding,我决定使用viewModels 我有一个这样的模型: namespace MySite.Models { public class Function : BaseEntity { //Beziehung zur Funktionsgruppe [Required] [Display(Name = "Übe

我的网站有一个简单的问题。
在我的站点中,我使用了两种不同的模型,带有一些相同的命名字段。 由于冲突,我必须给它们唯一的名称,为了不丢失modelbinding,我决定使用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,如下所示:

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中

希望我能正确描述我想做的事情


您可以使用Carsten将数据从模型映射到ViewModel或从ViewModel映射到ViewModel。如果属性的名称不同,则很难映射/配置,因此在视图模型中也要使用相同的名称。(如果可能)

正如我在上面写的,我需要不同的字段。这就是我使用ViewModels的原因。是的,您可以保留不同的字段,这没有问题。您仍然可以使用Automapper将您的详细信息从模型映射到ViewModel,反之亦然。有人知道Automapper实际版本的图版吗?我太愚蠢了,无法理解他们的页面和我发现的所有过时的图坦卡蒙。检查这些文章,这样你就可以了解如何使用Automapper——谢谢你,我会尝试一下:)