linq2sql在执行更新时出现duplicatekeyexception
本文关键字:duplicatekeyexception 更新 执行 linq2sql | 更新日期: 2023-09-27 18:04:52
我正在尝试使用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();
任何想法?
这是可能的,你正在使用你的dbcontext '太多',dbcontext已经管理相同的记录,你正在尝试更新。
尝试使用新的dbcontext来执行更新。dbcontext应该被频繁地创建、使用和处理。
https://stackoverflow.com/a/3151724/711061