I din redigering nævner du "Flere tilføjede enheder kan have den samme primærnøgle." fejl. Uden at kende alle detaljerne om, hvad du laver her, lyder det som om du skaber et forhold til en enhed - hvoraf der er to i sammenhængen med samme ID. Disse er sandsynligvis nye enheder, som endnu ikke er blevet gemt, hvilket er hvor de får et automatisk genereret ID fra databasen. Hvis forholdet er baseret på ID'et, er der en vis uklarhed, fordi Entity Framework ikke er i stand til at bestemme, hvilke af de nye enheder relationen rent faktisk peger på - de har begge det ID, som relationen peger på.
Der er to potentielle rettelser.
-
Generer en midlertidig, unik identifikator for enheder, efterhånden som de oprettes i konteksten. Entity Framework vil kassere dette, efterhånden som entiteten er gemt, men indtil det tidspunkt kan den bruge den til at adskille en ny enhed fra den anden. Jeg har tidligere brugt negative heltal til dette formål.
-
Opret ikke relationerne ved hjælp af ID'er, men snarere på entitetsreferencer. Hvis Entity Framework har en direkte reference til enheden, behøver den ikke at gennemgå processen med at identificere enheden baseret på ikke-unikke identifikatorer og burde ikke have dette problem.