我需要在一个请求中删除并添加具有相同主键值的实体,任何人都可以向我推荐解决方案吗?实体框架:在一个请求中删除并添加具有相同密钥的实体
以下是我的示例代码,其中给出了错误:违反PRIMARY KEY约束'PK_Table'。不能在对象'dbo.Table'中插入重复键。
context.Set<Entity>().Attach(existingEntityObj);
Entry(existingEntityObj).State = EntityState.Deleted;
context.Set<Entity>().Add(newEntityObj);
context.Entry<Entity>(newEntityObj).State = EntityState.Added;
context.SaveChanges();
假设两个物体(existingEntityObj和newEntityObj)具有在主键属性相同的值。
在此先感谢!
你将不得不放弃主键约束,删除你的实体,添加你的实体,并添加主键约束。但是,当FK引用它时,您不能删除主键约束。你在做什么听起来像一个坏主意。你能不能用新对象的数据修改现有的对象? – Pakman