2011-09-30 100 views
0

我正在使用ASP.NET(VB.NET),SQL 2008 Project。我需要使用不同类中的方法将数据写入多个表。我必须确保所有数据都是使用一个事务写入的,所以我使用的是旧方法(而不是TransactionScope)。所以我必须将连接&事务都传递给main方法的方法(如果使用TransactionScope,该怎么办)?如何将sql事务传递给不同类中的方法?

回答

1

所以我一定要连接&交易均来自主要方法传递给方法

是。此外,您创建的任何命令都必须将它们的连接和事务属性分别分配给连接/事务,这些属性已分配给您。

(如果使用的TransactionScope IM)

无限轻松。你可以在你的main中打开一个新的事务范围,然后任何需要在事务范围内注册的方法都可以用选项TransactionScopeOption.Required打开一个新的事务范围,并且他们将自动从main获得环境事务。你不需要传递任何东西。

+0

如果我在子方法中调用“Complete”它不会提交所有以前的数据插入,是否正确? – Nalaka526

+0

@ Nalaka526:如果它是一个嵌套作用域,那么在提交外部作用域之前它不会被提交。 – jason

+0

对不起,我的愚蠢......如果我只在父方法(在子方法中没有TransactionScopes)打开TransactionScope是否可以?主要的方法TransactionScop会包装子方法数据吗? – Nalaka526

相关问题