Błąd przy zapisywaniu obiektów do bazy danych

0

Witam,

jest sprawa taka, że mam formularz zrobiony z użyciem knockoutjs.
Ogólnie to wygląda on tak, że jest instrukcja, niżej kolekcja pytań i do każdego pytania kolekcja odpowiedzi.
Teraz tak. Jak przy zapisywaniu pomijam zapisywanie odpowiedzi, to wszystko działa. Błąd wywala, kiedy chcę zapisać wszystko, razem z odpowiedziami. Niżej linki do kodu, jak będą pytania to chętnie odpowiem. Nie programuję w knockoutjs (kod nie jest mój) i nie mam pojęcia co się może wysypywać (zwłaszcza, że to chyba nie przez knockout'a, a coś z encjami).

Kod:
Metoda z kontrollera: http://pastebin.com/TsQU5bVc
Widok: http://pastebin.com/2CYPucUT
Modele: http://pastebin.com/c2uENdkE
Relacje w bazie: http://pastebin.com/KcP2SrVV

No i treść komunikatu o błędzie:

The INSERT statement conflicted with the FOREIGN KEY constraint "FK_dbo.TaskAnswers_dbo.TaskQuestions_TaskAnswerID". The conflict occurred in database "ExamManagementApplication", table "dbo.TaskQuestion", column 'TaskQuestionID'. The statement has been terminated."

Proszę o pomoc, czemu może się wywalać. Jak mówiłem, jak pominę w kontrolerze linie od 18 do 32 to nie ma problemów. Kod był już przerabiany kilka razy, w trakcie próbowania różnych pomysłów na naprawienie tego i dlatego teraz wygląda jak wygląda.

0

Nie ma znaczenia, błąd dotyczy czegoś innego. Mianowicie w tabeli TaskQuestion masz kolumnę TaskQuestionID ktora ma jakis konflikt z TaskQuestions... troche mi to nie gra tutaj.
MOŻE TUTAJ:

odelBuilder.Entity<BlanksAnswer>().HasRequired<BlanksQuestion>(a => a.Question).WithMany(a => a.Answers).HasForeignKey(a=>a.QuestionID).WillCascadeOnDelete(false);

dać

odelBuilder.Entity<BlanksAnswer>().HasRequired<BlanksQuestion>(a => a.Question).HasForeignKey(a=>a.QuestionID).WithMany(a => a.Answers).WillCascadeOnDelete(false);
  1. Zobacz w debugerze czy masz coś w tych zmiennych w kontrolerze:
 Task = blanksTask

db.Entry(bquestion).Collection(a => a.Answers).Load();

1 użytkowników online, w tym zalogowanych: 0, gości: 1