Ho un vincolo univoco su una colonna della tabella Navigations
denominata Index
. Ho due entità Navigation
e voglio scambiare i loro valori Index
.Scambio di valori con vincolo univoco in Entity Framework
Quando chiamo db.SaveChanges
genera un'eccezione che indica che un vincolo univoco è stato violato. Sembra che EF stia aggiornando un valore e poi l'altro, violando così il vincolo.
Non dovrebbe aggiornarli entrambi in una transazione e quindi provare a eseguire il commit una volta che i valori sono stati ordinati e non in violazione del vincolo?
C'è un modo per aggirare questo senza utilizzare valori temporanei?
Potrebbe mostrare come codice? – Likurg
qui sono necessari i valori temporanei, un aggiornamento è un'operazione autonoma. in modo da ottenere sempre una violazione del vincolo, l'unica altra opzione è disabilitare i vincoli per l'operazione. –