でトランザクションを実装する最善の方法を教えてDBContext
ください。特に、
DbContext.SaveChanges
複数のエンティティを変更した場合、トランザクションは内部的に実装されますか?- 複数回呼び出したい場合
DbContext.SaveChanges
(同じ contxet/異なる contxets)、どのようにトランザクションを達成できますか?
でトランザクションを実装する最善の方法を教えてDBContext
ください。特に、
DbContext.SaveChanges
複数のエンティティを変更した場合、トランザクションは内部的に実装されますか?DbContext.SaveChanges
(同じ contxet/異なる contxets)、どのようにトランザクションを達成できますか?SaveChanges
内部でトランザクションを使用します。TransactionScope
複数の呼び出しをラップするために使用しますSaveChanges
例:
using(var scope = new TransactionScope(TransactionScopeOption.Required,
new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }))
{
// Do something
context.SaveChanges();
// Do something else
context.SaveChanges();
scope.Complete();
}