我知道这个问题是重复的,但遗憾的是我没有找到解决问题的方法。即使有很多关于此事的帖子。
所以,就像主题所说,我得到的例外是:
entitytype has no key defined
我的模型看起来像这样:
public class QuestionModel
{
public int ID { get; set; }
[DisplayName("Question")]
public string Question { get; set; }
public List<string> Responses { get; set; }
[DisplayName("Number of answers")]
public int NumberOfAnswers { get; set; }
}
控制器中的代码:
[HttpPost]
public ActionResult RegisterQuestion(QuestionModel model)
{
if (ModelState.IsValid)
{
using (var context = new DataBaseContext())
{
var question = new QuestionModel
{
NumberOfAnswers = model.NumberOfAnswers,
Question = model.Question,
Responses = model.Responses
};
context.Question.Add(question);
context.SaveChanges();
}
}
return View("RegisteredQuestion");
}
阅读几篇帖子,如果出现以下情况,可能会发生此异常:
int ID {...}
int ID
)当存在多个ID时,实体框架中的混淆。例如:
public int oneID {get;组; }
public int anotherID {get;组; }
但这不是我的问题,因为我只有一个ID。但为了以防万一,我确实尝试添加Key注释,因此我的id属性变为:
[Key]
public int ID { get; set; }
但没有运气。我已经注意到我遇到的这个错误的任何原因,但我仍然错过了一些。任何帮助都非常感谢
答案 0 :(得分:0)
我重启了我的VS13(我不经常这样做,因为它总是打开的)。哪有帮助。通常我只是重建项目,这已经足够了。但肯定会发生一些有趣的事情。 抱歉浪费你的时间。我也浪费了自己的时间没有重新启动VS,但我从未想过这个选项。