我有一个ajax帖子,它提供了用户输入表单的值。
在我的数据库中,我有两个正在使用的实体,我首先使用模型。 但是,在尝试执行此操作时,我得到“对象引用未设置为对象的实例”错误:
goalCardQuestionAnswer.SelectedQuestion.Id = selectedQuestionViewModel.QuestionID;
这是我的控制器帖子:
[HttpPost]
public bool AnswerForm(SelectedQuestionViewModel selectedQuestionViewModel)
{
if (ModelState.IsValid)
{
var goalCardQuestionAnswer = new GoalCardQuestionAnswer();
goalCardQuestionAnswer.SelectedQuestion.Id = selectedQuestionViewModel.QuestionID;
goalCardQuestionAnswer.Comment = selectedQuestionViewModel.Comment;
goalCardQuestionAnswer.Grade = selectedQuestionViewModel.Grade;
answerNKIRepository.SaveQuestionAnswer(goalCardQuestionAnswer);
answerNKIRepository.Save();
}
我的SelectedQuestionViewModel:
public class SelectedQuestionViewModel
{
public int? Grade { get; set; }
public string Comment { get; set; }
public string SelectedQuestionText { get; set; }
public int QuestionID { get; set; }
}
我的数据库模型
答案 0 :(得分:5)
您必须初始化SelectedQuestion
媒体资源:
var goalCardQuestionAnswer = new GoalCardQuestionAnswer();
goalCardQuestionAnswer.SelectedQuestion = new SelectedQuestion();
答案 1 :(得分:1)
如果我是你,我还会在我的模型中添加一个外键属性SelectedQuestionId。然后,您可以设置此值,并在SaveChanges或从存储库请求对象时自动检索导航属性。