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
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5