4

我想在一个事务中进行两个数据库操作。这两个操作是

  1. 执行一次插入操作。
  2. 创建一个用户(使用成员资格 - sql 成员资格提供程序)

我尝试了TransactionScope但它在该行进入分布式事务: -- Membership.CreateUser("test", "password", "test@test.com");

由于我只有数据库,如何使用轻量级事务来做到这一点?

提前致谢。

4

3 回答 3

4

如果您使用单个数据库连接,则 TransactionScope 的当前实现将仅使用轻量级事务。因此,在您的场景中无法实现这一点。

于 2008-11-20T08:57:56.943 回答
2

我有一个类似的问题。我的解决方案是(我仍然不确定它是否会工作)下载 ASP.Net Membership Provider 代码并重建它,劫持 SqlConnectionHolder 类。

于 2008-12-03T20:56:37.020 回答
0

我一直在寻找这个话题,我想我已经找到了答案。它仅适用于 SQLServer 2008。它不需要更改 System.Transactions 命名空间或我们的应用程序代码。这真有趣。;)

http://blogs.msdn.com/b/adonet/archive/2008/03/26/extending-lightweight-transactions-in-sqlclient.aspx

希望这可以帮助!

于 2011-05-10T06:01:34.880 回答