1

伙计们,你们一定在想我为什么要这么做……我可能错了,但我正在设计一个系统

它有以下几层

  • 数据访问层(处理 sql 事务)
  • 数据管理员
  • 表示层

数据管理器调用数据访问层进行 sql 事务。表示层中的特定功能调用多个数据管理器来完成它的工作......

如果每个数据管理器为数据访问类创建单独的实例并且它们不共享事务,则表示层的一个函数在多个事务中执行 sql 并且其中一个事务失败,它将回滚并且不会影响另一笔交易。我们不希望这样……我们希望回滚恰好完成该表示层功能的工作的所有事务。

我不知道如何实现...

我的设计不正确吗?有什么建议么 ???

我正在使用 SQL Server 2008 和 C# 以及 .Net 4.0

4

1 回答 1

1

SQL Server 支持嵌套事务,因此您的数据层/管理器可以首先启动事务 http://msdn.microsoft.com/en-us/library/ms189336(v=sql.105).aspx

于 2013-01-18T06:12:15.887 回答