0

次のコードを試しています

UserDetail ud = UserDetail.SingleOrDefault(u => u.UserName == CurrentUserName);
  if (ud == null)
    ud = new UserDetail();

Address uAddress = ud.AddressId.HasValue
                    ? Address.SingleOrNew(a => a.Id == ud.AddressId)
                    : new Address();

using (TransactionScope tc = new TransactionScope()) 
{
  uAddress.Save();
  ud.AddressId = uAddress.Id;
  ud.Save(); // error is here
  tc.Complete();
}

ud.save() に到達すると、「操作はトランザクションの状態に対して有効ではありません。」というエラーが表示されます。---> System.Transactions.TransactionPromotionException: トランザクションの昇格を試行中にエラーが発生しました'

トランザクション部分をコメントアウトすると、正常に動作します.SingleOrDefaultがdbから切断されていませんか?

ありがとう

4

2 に答える 2

1

subsonic 3.0.0.3 のバグです

修正はここで見つけることができますissue 69

于 2009-08-19T00:52:20.387 に答える