Ten błąd jest generowany, gdy próbuję zmienić klucz obcy. Wiem, że jest to bardzo powszechny błąd. Znalazłem mnóstwo informacji na ten temat i próbowałem zaimplementować poprawki, które znalazłem, ale nadal dostaję ten błąd podczas próby aktualizacji kluczy. Reference ThreadBłąd LINQ do SQL ForeignKeyReferenceAlreadyHasValueException
Początkowo właśnie przypisałem wartość i nie próbowałem odwzorowywać obiektów.
ticket.assigned_to_group = assigned_to
Od tamtej pory zmieniłem się, próbując odwzorować elementy, które według mnie stanowią poprawną odpowiedź; jednak nadal dostaję błąd.
ticket.assigned_to_group = db.sub_units.Single(f => f.id == assigned_to).id;
Każdy pomysł, dlaczego to nie zadziała. Również jeśli mam tabelę z wieloma kluczami obcymi, czy naprawdę muszę zrobić nowe zapytanie dla każdego klucza lub czy istnieje lepszy sposób?
Ach, masz rację, nadal próbowałem nadać identyfikatorowi nową wartość zamiast przypisywać encję. To teraz działa: t.sub_unit = db.sub_units.Single (f => f.id == assign_to) – Tim
To (w moim przypadku) jest tylko problemem, gdy Id nie jest zerowalny, aktualizując identyfikatory nullable poprzez przypisanie tylko nowy identyfikator działa poprawnie. Dlaczego tak jest? – CRice
Nie należy przypisywać ParentID. Jedynym zadaniem, które jest potrzebne, jest podmiot. –