Как получить данные для просмотра модели самым быстрым способом - PullRequest
0 голосов
/ 17 января 2020

У меня простая проблема с моим сайтом.
Внутри моего сайта я использую две разные модели с некоторыми идентичными именованными полями. Из-за столкновения я должен дать им уникальные имена, и чтобы не потерять привязку модели, я решил использовать 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.

Надеюсь, что я мог бы описать Right, что бы я хотел сделать.

Карстен

1 Ответ

0 голосов
/ 17 января 2020

Вы можете использовать Automapper для отображения или передачи данных из модели в ViewModel или наоборот. Вам будет сложно сопоставить / настроить, если ваше имя вашего имущества будет другим, поэтому имейте это же имя в модели представления. (Если возможно)

...