删除然后插入对象实体框架

时间:2012-09-21 09:40:37

标签: entity-framework

我有这个方法删除对象(如果存在)并以任何方式插入新实例:

  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();
        }
    }

我有时会得到表格中已存在密钥的异常 我想知道我保存更改的方式是否有问题(删除和插入后保存,而不是每个之后) 当我得到例外时,几乎没有客户端激活该方法,同时我已阻止其他客户端写入,但这可能是问题吗?
由于
叶兰

0 个答案:

没有答案