在类的多个实例之间共享事务或连接

时间:2013-01-18 02:50:43

标签: sql-server transactions connection data-access-layer sharing

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

它有以下图层

  • 数据访问层(处理sql事务)
  • 数据管理员
  • 演示文稿图层

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

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

我不知道如何实现......

我的设计不正确吗? 任何建议???

我使用的是SQL Server 2008和C#以及.Net 4.0

1 个答案:

答案 0 :(得分:1)

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