c#mvc viewmodel数据库首先无法创建视图

时间:2017-10-19 23:53:35

标签: c# entity-framework asp.net-mvc-4 mvvm

我是一名经验丰富的程序员,但对c#mvc来说相对较新。我正在尝试创建我的第一个viewmodel,将两个模型合并为一个,这样一个视图就可以从两个模块中访问成员。我遵循了将不同模型组合到一个视图模型中的说明:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ViApplication.Models;
using System.ComponentModel.DataAnnotations;

namespace ViApplication.ViewModel
{
    public class TemplateMTMQuestionViewModel
    {
        public TemplateVISpdat ThisTemplate { get; set; }
        public MtmTemplateViSpdatQuestion ThisMTMQuestion { get; set; }
    }
}

我创建了一个控制器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ViApplication.ViewModel;
using ViApplication.Models;
using System.Net;

namespace ViApplication.Controllers
{
    public class TemplatesMTMQuestions : Controller
    {
        private VulnerabilityIndexDatabaseEntities db = new VulnerabilityIndexDatabaseEntities();

        public ActionResult AddQuestionToTemplate(long? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            TemplateVISpdat templateVISpdat = GetTemplateByID(id);

            if (templateVISpdat == null)
            {
                return HttpNotFound();
            }

            TemplateMTMQuestionViewModel TMTMQVM = new TemplateMTMQuestionViewModel();

            TMTMQVM.ThisTemplate = GetTemplateByID(id);
            TMTMQVM.ThisMTMQuestion = GetBlankMtmTemplateViSpdatQuestion();

            return View(TMTMQVM);
        }

        public TemplateVISpdat GetTemplateByID(long? id)
        {
            TemplateVISpdat templateVISpdat = db.TemplateVISpdats.Find(id);

            return templateVISpdat;
        }

        public MtmTemplateViSpdatQuestion GetBlankMtmTemplateViSpdatQuestion()
        {
            MtmTemplateViSpdatQuestion TMTMQVM = new MtmTemplateViSpdatQuestion();

            return TMTMQVM;
        }
    }
}

编译好。但是当我尝试从AddQuestionToTemplate创建一个视图并选择Empty和我的ViewModel时,我得到:

  

无法检索元数据   ViApplication.ViewMdoel.TemplateMTMQuestionViewModel。一个或多个   在模型生成期间检测到验证错误。   TemplateMTMQuestionViewModel :: EntityType TemplateMTMQuestionViewModel   没有键定义

这个项目和其他项目的唯一区别是我首先使用数据库。

非常感谢任何帮助。

0 个答案:

没有答案