I'm getting a unique constraint violation when trying to do
SaveChanges() on my EF.
There are two columns,
Order. The unique constraint is on those two columns.
I'm updating the order (swapping two of the values).
However, when I do
SaveChanges() I get a
DBUpdateExcception saying I've violated the unique constraint - but I haven't! I've just swapped the order.
Name | ID | Order BH | 49 | 1 JK | 49 | 2
So in code, it now looks like this (and I've checked the EF in the debugger)
Name | ID | Order BH | 49 | 2 JK | 49 | 1
As I said though, when I do
SaveChanges() I get an exception.
I don't know if there is a problem with my model in visual studio 2015 (have to set a property or something to allow updates?). The problem seems to me to be that "it" isn't doing the update correctly.
Appreciate any help!
EntityFramework updates one row at a time.
So by switching the
Order value of the two objects and calling
SaveChanges() It first fires something like this:
UPDATE TABLENAME SET [Order] = 2 WHERE [TABLENAME].[ID] = 49 AND [TABLENAME].[Order] = 1
If this update would be executed, you would have two rows in the table with the same values in the unique constraint. This is why you get the error.