ASP.NET/SQL Server 2005에서 SubSonic을 사용하여 다중 삭제 트랜잭션을 처리하는 데 약간의 문제가 있습니다. 데이터베이스에서 항상 변경 사항을 transactionscope 객체에 대한 complete 메소드를 호출 하시겠습니까?SubSonic을 사용하여 트랜잭션을 가져 오는 중 문제가 발생했습니다.
나는 이것에 관한 게시물을 읽었으며 DTC를 사용하여 DTC를 사용하는 등 다양한 대안을 시도했다. 그러나 지금까지는 기쁨이 없었다.
나는 이것이 문제는 내 코드라고 생각 하겠지만 문제를 발견 할 수는 없습니다. 누구든지 도울 수 있습니까? 나는 SubSonic 2.2를 사용하고있다. 코드 샘플은 아래 : 연결이 생성되는 동안 트랜잭션에 대해 알 필요가있다, 그것은`시스템을 확인하여 해당합니까 : 당신의 using 문의
using (TransactionScope ts = new TransactionScope())
{
using (SharedDbConnectionScope sts = new SharedDbConnectionScope())
{
foreach (RelatedAsset raAsset in relAssets)
{
// grab the asset id:
Guid assetId = new Select(RelatedAssetLink.AssetIdColumn)
.From<RelatedAssetLink>()
.Where(RelatedAssetLink.RelatedAssetIdColumn).IsEqualTo(raAsset.RelatedAssetId).ExecuteScalar<Guid>();
// step 1 - delete the related asset:
new Delete().From<RelatedAsset>().Where(RelatedAsset.RelatedAssetIdColumn).IsEqualTo(raAsset.RelatedAssetId).Execute();
// more deletion steps...
}
// complete the transaction:
ts.Complete();
}
}