我正在尝试使用linq2sql对我的数据库中的记录进行更新,但是,我得到以下异常抛出:
'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();
有什么想法吗?
答案 0 :(得分:0)
您可能正在使用dbcontext'太多'并且dbcontext已经在管理您尝试更新的相同记录。
尝试使用新的dbcontext来执行更新。 Dbcontexts意味着经常使用和处理。