사용자가 필드를 채우는 마법사 단계가 있습니다. 그런 다음 json을 사용하여 각 마법사 단계마다 데이터베이스에 값을 저장합니다. 그러나 내 저장소에는 savechanges()가 있습니다. 그러나 변경 사항을 저장하지 않고 대신 오류가 발생합니다.엔터티 프레임 워크 savechanges 오류
Entities in 'NKImodeledmxContainer.SelectedQuestion' participate in the 'QuestionSelectedQuestion' relationship. 0 related 'Question' were found. 1 'Question' is expected.
누구든지 오류를 제거하는 방법을 알고 계십니까? 질문에서 ID를 받아 내 데이터베이스에 저장해야합니까, 아니면 EF에서 무언가를 변경하여 오류 메시지가 표시되지 않도록 할 수 있습니까?
이것은 내 컨트롤러 내 게시물 :
[HttpPost]
public JsonResult AnswerForm(int id, SelectedQuestionViewModel model)
{
bool result = false;
var goalCardQuestionAnswer = new GoalCardQuestionAnswer();
goalCardQuestionAnswer.SelectedQuestion = new SelectedQuestion();
goalCardQuestionAnswer.SelectedQuestion.Id = model.QuestionID;
goalCardQuestionAnswer.Comment = model.Comment;
goalCardQuestionAnswer.Grade = model.Grade;
if (goalCardQuestionAnswer.Grade != null)
{
answerNKIRepository.SaveQuestionAnswer(goalCardQuestionAnswer);
answerNKIRepository.Save();
result = true;
return Json(result);
}
answerNKIRepository.SaveQuestionAnswer(goalCardQuestionAnswer);
answerNKIRepository.Save();
return Json(result);
}
내 저장소
public class AnswerNKIRepository
{
private readonly NKImodeledmxContainer db = new NKImodeledmxContainer();
public List<SelectedQuestion> GetAllSelectedQuestionsByGoalCardId(int goalCardId)
{
return db.SelectedQuestion.Where(question => question.GoalCard.Id == goalCardId).ToList();
}
public void SaveQuestionAnswer(GoalCardQuestionAnswer goalCardQuestionAnswer)
{
db.GoalCardQuestionAnswer.AddObject(goalCardQuestionAnswer);
}
public void Save()
{
db.SaveChanges();
}
}
이 내 뷰 모델입니다 :
: 이것은 내 데이터베이스 모델이
public class SelectedQuestionViewModel
{
public int? Grade { get; set; }
public string Comment { get; set; }
public string SelectedQuestionText { get; set; }
public int QuestionID { get; set; }
}
입니다
질문에서 가장 중요한 부분 인 저장소에서 무슨 일이 일어나고 있는지 표시하고 있지 않습니다. –
리포지토리로 업데이트 됨 –