我正在开发一个允许用户编辑特定实体的编辑视图。如果用户没有看到已经存在的实体,其中一个下拉菜单需要允许用户创建不同相关实体的新实例。我正在尝试找出最佳实践。
他们正在编辑的模型:
 public class SurveyProgramModel
    {
        [Key]
        public int ProgramId { get; set; }
        [DisplayName("Year")]
        public int ProgramYear { get; set; }
        [DisplayName("Status")]
        public int ProgramStatusId { get; set; }
        [DisplayName("Program Title")]
        public string ProgramTitle { get; set; }
        public int ProgramTypeId { get; set; }
        [DisplayName("Program Type")]
        public virtual SurveyProgramTypeModel ProgramType { get; set; }
        [DisplayName("Status")]
        public virtual ProgramStatusModel ProgramStatusModel { get; set; }
        public virtual ICollection<SurveyResponseModel> SurveyResponseModels { get; set; }
    }
如果用户没有看到ProgramType符合他们想要的内容,他们需要有一个空文本框,允许他们创建一个新的ProgramType.
Here is the ProgramType model:
   public class SurveyProgramTypeModel
    {
        [Key]
        public int ProgramTypeId { get; set; }
        [DisplayName("Program Type")]
        public string ProgramType { get; set; }
        public virtual ICollection<SurveyProgramModel> SurveyProgramModels { get; set; }
    }
在一次提交中更新 2 个模型的最佳做法是什么?我如何保持我的观点强类型化SurveyProgramModel?创建视图模型?