我有这个方法删除对象(如果存在)并以任何方式插入新实例:
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();
}
}
我有时会得到表格中已存在密钥的异常
我想知道我保存更改的方式是否有问题(删除和插入后保存,而不是每个之后)
当我得到例外时,几乎没有客户端激活该方法,同时我已阻止其他客户端写入,但这可能是问题吗?
由于
叶兰