Entity framework 删除然后插入对象实体框架
我有一种方法,可以删除存在的对象,并以任何方式插入新实例:Entity framework 删除然后插入对象实体框架,entity-framework,Entity Framework,我有一种方法,可以删除存在的对象,并以任何方式插入新实例: internal void SaveCarAccident(WcfContracts.BLObjects.Contract.Dtos.CarAccident DTOCarAccident) { using(var context = BLObjectsFactory.Create()) { context.ContextO
internal void SaveCarAccident(WcfContracts.BLObjects.Contract.Dtos.CarAccident DTOCarAccident)
{
using(var context = BLObjectsFactory.Create())
{
context.ContextOptions.ProxyCreationEnabled = false;
CarAccident NewCarAccident = ConvertToCarAccident(DTOCarAccident);
CarAccident carFromDB = context.CarAccident.FirstOrDefault(current => current.CarAccidentKey.Equals(NewCarAccident.CarAccidentKey));
if(carFromDB != null)
context.CarAccident.DeleteObject(carFromDB);
context.CarAccident.AddObject(NewCarAccident);
context.SaveChanges();
}
}
我有时会遇到一个异常,即表中已经存在该键。我想知道我保存更改的方式是否有问题(在删除和插入后保存,而不是在每次之后保存)
在我得到异常的时候,很少有客户端在我阻止其他客户端写入的同时激活该方法,但这可能是问题所在吗?
谢谢
Eran为什么要删除并重新创建,而不是更新?这是我收到的要求,无论如何,我不是在这里寻找技术问题解决方案,而是要了解在这种情况下保存更改的工作方式