0

嗨,我有一个生成器,它为我制作了一些由数据库结构化的自动化代码(创建所有 get、set 等),在这段代码中有一段代码如下:

SqlTransaction transaction = TransactionManager.GetTransaction();

我已经using System.Transactions;手动添加了引用并在文件的开头导入,因为代码生成器从未这样做过。导入后,这删除了TransactionManager error我得到的,但现在我收到一个错误,.GetTransaction();从我研究的内容来看,在TransactionManager.
有没有人知道应该用什么代替这段代码(生成器有一些代码由于错误而必须被替换,我猜这是其中一种情况......)。任何建议,将不胜感激!提前致谢!

4

3 回答 3

2

该答案假定您使用的生成器是内部构建的,并且您现在正在对其进行修改 - 如果它是外部代码生成器,那么您应该查看手册以了解您需要的参考资料。

TransactionManagerSystem.Transactions 中的类实际上并不为您创建或登记事务。它只是提供有关当前交易的信息。来自 MSDN:

此类包含用于获取有关默认事务选项的信息的静态属性和方法。

相反,我认为您想要:

谷歌搜索 TransactionManager 似乎人们通常用这个名称编写自己的类,这些类执行诸如提供 GetTransaction() 方法之类的操作 - 这可能是生成器具有此名称的原因吗?

于 2011-04-21T12:59:27.800 回答
0

仅添加一些 Transaction 命名空间应该无济于事。您可能需要生成器附带的一些基本 DLL 或代码文件。阅读手册。

于 2011-04-21T12:59:50.300 回答
0

您通常通过在当前连接上调用 BeginTransaction() 来启动 SqlTransaction。看起来您的“生成器”使用了一些它生成的或随它一起交付的 TransactionManager 类。

于 2011-04-21T13:00:52.150 回答