LINQ to SQL を使用して SQL Server データベースに新しい行を挿入しようとしているときに問題が発生しました。
コードは次のとおりです。
[HttpPost]
public ActionResult QuestionsAnswers(UserQuestion userQuestion)
{
if (ModelState.IsValid)
{
var newUserQuestion = new QuestionAnswer();
newUserQuestion.Question = userQuestion.Question;
newUserQuestion.From = userQuestion.From;
ViewBag.QuestionSent = true;
QuestionAnswerDb.QuestionAnswers.InsertOnSubmit(newUserQuestion);
QuestionAnswerDb.SubmitChanges();
return View(AnswersList);
}
ViewBag.QuestionSent = false;
ViewBag.From = userQuestion.From;
ViewBag.Question = userQuestion.Question;
return View(AnswersList);
}
そして、新しいものを「提出」しようとしているときにエラーが発生しましたUserQuestion
(それには and しかFrom
ありませQuestion
ん)、QuestionAnswerには列があります:(Id, From, Question, Answer
これはnull可能です):
IDENTITY_INSERT が OFF に設定されている場合、テーブル 'QuestionAnswer' の ID 列に明示的な値を挿入できません。
Linq-to-SQL は Identity 自動インクリメント列を単独で処理する必要があると考えました。今思えば、自分が間違っていた…
このオブジェクトの Id を適切に設定する方法についての手がかりはありますか?
前もって感謝します。