ここに引用があります。「したがって、1つのオブジェクトコンテキストのみで作業している場合は、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();
}
}