I have my view model :
namespace projInterview.Models
{
public class QuestionViewModel
{
public piQuestion Question { get; set; }
public List<piAnswer> Answers { get; set; }
public piQuestionFavorite QuestionFavorite { get; set; }
public piQuestionLevel QuestionLevel { get; set; }
public QuestionViewModel(piQuestion question, List<piAnswer> answers )
{
Question = question;
Answers = answers;
}
}
}
The VM is a standalone class. I did not scaffold this out to a controller.
In my controller:
namespace projInterview.Controllers {
public class QuestionController : Controller
{
private ProjectContext db = new ProjectContext();
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
piQuestion piquestion = db.piQuestions.Single(x => x.QuestionID == id);
List<piAnswer> piAnswers = db.piAnswers.Where((x => x.QuestionID == id)).ToList();
var questionViewModel = new QuestionViewModel(piquestion,piAnswers);
return View(questionViewModel);
}
}
When I get to this line:
piQuestion piquestion = db.piQuestions.Single(x => x.QuestionID == id);
I get the following error:
One or more validation errors were detected during model generation:
projInterview.DAL.QuestionViewModel: : EntityType 'QuestionViewModel' has no key defined. Define the key for this EntityType. questionViewModels: EntityType: EntitySet 'questionViewModels' is based on type 'QuestionViewModel' that has no keys defined.
piQuestion and piAnswer both have keys in the original models that the viewmodel is using. What am I doing incorrectly?