2 つのデータベースがある状況があります。
Manager には Companies テーブルがあり、この値に基づいて新しい DB を作成する必要があります。
だから私はTransactionScopeを使用しています。知りたいのですが、以下は正しいですか?
これは両方の変更をロールバックしますか? エラーが発生した場合、両方のDBで?
using (TransactionScope ts = new TransactionScope())
{
try
{
using(var ManagerContext = new ManagerEntities(
ConnectionStringManager.GetManagerConnectionString()))
{
//Operations on Manager DB
// Create new Company and get NEWCOMPANYID
// -- Used to create new DB
}
using(var companyContext = new CompanyEntities(
ConnectionStringManager.GetCompanyConnectionString(
NEWCOMPANYID.ToString())))
{
//Create New Company DB
}
ts.Complete();
}
catch (Exception ex)
{
ts.Dispose();
}
}