I am an experienced programmer but relatively new to c# mvc. I am attempting to create my first viewmodel to combine two models into one so a view can access members from both. I have followed instructions on combining distinct models into one view model:
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; }
    }
}
I have created a controller:
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;
        }
    }
}
This compiles fine. But when I try to create a view from AddQuestionToTemplate and select Empty and my ViewModel I get:
Unable to retrieve metadata for ViApplication.ViewMdoel.TemplateMTMQuestionViewModel. One or more validation errors were detected during model generation. TemplateMTMQuestionViewModel::EntityType TemplateMTMQuestionViewModel has no key defined
The only difference between this project and other projects is that I am using database first.
Any help would be greatly appreciated.
 
    