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

为什么要删除并重新创建,而不是更新?这是我收到的要求,无论如何,我不是在这里寻找技术问题解决方案,而是要了解在这种情况下保存更改的工作方式