Torna al Thread
Public Class TypedDataRow
Inherits System.Data.DataRow
Sub New(ByVal builder As System.Data.DataRowBuilder)
MyBase.New(builder)
End Sub
End Class
Public Class TypedDataTable(Of T As TypedDataRow)
Inherits System.Data.DataTable
Public Sub New(ByVal TableName As String)
MyBase.New()
Me.TableName = TableName
End Sub
Protected Sub GetDataFromReader(ByVal dr As IDataReader)
'Popola la tabella da un DataReader controllando il Mapping
Me.BeginLoadData()
While dr.Read
Dim row As T = CType(Me.NewRow, T)
For Each col As DataColumn In Me.Columns
If Me.Mapping.Count > 0 Then
If Me.Mapping.ContainsKey(col.ColumnName) Then
row(col) = dr(Me.Mapping.Item(col.ColumnName).ToString)
End If
End If
Next
Me.Rows.Add(row)
End While
Me.EndLoadData()
End Sub
Public Sub GetData(ByVal dr As IDataReader)
Me.GetDataFromReader(dr)
End Sub
Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow
Return New TypedDataRow(builder)
End Function
End Class