这是我在 Stack Overflow 上的第一篇文章,所以请原谅(并随时指出)任何 n00b 错误。
我正在尝试通过扩展部分类,如以下示例中所述,在 VB.NET(使用 Visual Studio 2010)中跨多个 TableAdapter 实现事务:
http://blah.winsmarts.com/2006/06/18/the-definitive-tableadapters--transactions-blog-post.aspx
madprops.org/blog/typed-datasets-and-sqltransaction/
stackoverflow.com/questions/2342289/net-tableadapter-to-dataadapter
但是,当我尝试公开由设计器创建的任何私有字段时,它们在编辑器中带有下划线,并出现以下错误:
'_adapter' 未声明。由于其保护级别,它可能无法访问。
搜索此站点以及 google 并没有发现任何有用的信息,但可能我正在搜索错误的关键字。
这是 MyDataset.vb 中的代码
Partial Public Class MyTableAdapter
Public Property MyTransaction() As SqlTransaction
Get
Return _adapter.SelectCommand.Transaction
End Get
Set(ByVal value As SqlTransaction)
If _adapter Is Nothing Then
InitAdapter()
End If
Connection = value.Connection
_adapter.InsertCommand.Transaction = value
_adapter.UpdateCommand.Transaction = value
_adapter.DeleteCommand.Transaction = value
End Set
End Property
End Class
这是设计器代码:
Partial Public Class MyTableAdapter
Inherits Global.System.ComponentModel.Component
Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter
Private _connection As Global.System.Data.SqlClient.SqlConnection
Private _transaction As Global.System.Data.SqlClient.SqlTransaction
Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand
我是否遗漏了什么,或者这在 VB 中是不可能的(我见过的所有示例都在 C# 中)?
TIA 寻求帮助!
乙脑