这是一个引用“因此,如果您只使用一个对象上下文,那么在使用 ObjectContext.SaveChanges 方法时,您已经内置了对数据库事务的支持。” 我在这里找到http://www.luisrocha.net/2011/08/managing-transactions-with-entity.html
所以据此,我不必TransactionScope
在下面的代码中使用,对吧?
if (isLastCallSuccess)
{
if (condition1) //it's clear, no transaction needed
{
product.Property1 = true;
context.SaveChanges();
}
else if (condition2)
{
using (TransactionScope scope = new TransactionScope()) //do I need it?
{
context.DeleteObject(item); //deleting
context.AddObject("product", new product //adding
{
Id = oldObject.Id,
Property1 = true
});
context.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave);
scope.Complete();
context.AcceptAllChanges();
}
}