Я пытаюсь сделать обновление на записи в моей базе данных, используя linq2sql, однако, я получаю следующее исключение брошенное:Linq2Sql DuplicateKeyExceptionwhile делает обновление
'System.Data.Linq.DuplicateKeyException' in System.Data.Linq.dll ("Cannot add an entity with a key that is already in use.") System.Data.Linq.DuplicateKeyException
Хотя я понимаю, что исключение говорит мне , как это возможно при выполнении обновления? Я не вставляю какие-либо данные так реалистично, что никакие ключи не должны обновляться?
var Printer = db.Printers.FirstOrDefault(p => p.id == i.PrinterId);
Printer.CenterId = GetCenterId(i.NewCenterCode);
Printer.LastCenterCode = i.NewCenterCode;
db.SubmitChanges();
Любые идеи?
ли 'CenterId' есть ограничение уникальности? Выполняете ли вы какие-либо операции с вашим контекстом 'db' перед фрагментом кода, который вы показали? – user3185569
@ user3185569 или 'LastCenterCode', если на то пошло –
Ни один из них не имеет уникального ограничения, единственными 2 уникальными столбцами являются ID (первичный ключ) и MacAddress (который в этом случае не обновляется) – mauzilla