最後に、各オプションのビットを使用して、それをヌル入力可能なフィールドで動作させるため少し微調整しました。
まず最初は、私はそれそのコードにMODを検索し、見つかった私はこれを試したときに列がNULL可能だった場合、それは失敗するこれがここで行われ
http://msdn.microsoft.com/en-us/library/bb669096.aspx
、VBにCopyToDataTable機能を取得していますうまくいくでしょう。ここでは、フル
Public Function ExtendTable(ByVal table As DataTable, ByVal type As Type) As DataTable
For Each f As FieldInfo In type.GetFields()
If (Not _ordinalMap.ContainsKey(f.Name)) Then
Dim dc As DataColumn
dc = If(table.Columns.Contains(f.Name), table.Columns(f.Name), table.Columns.Add(f.Name, f.FieldType))
_ordinalMap.Add(f.Name, dc.Ordinal)
End If
Next f
For Each p As PropertyInfo In type.GetProperties()
If Not _ordinalMap.ContainsKey(p.Name) Then
Dim colType As Type = p.PropertyType
If (colType.IsGenericType) AndAlso (colType.GetGenericTypeDefinition() Is GetType(Nullable(Of))) Then
colType = colType.GetGenericArguments()(0)
End If
Dim dc As DataColumn = IIf(table.Columns.Contains(p.Name), table.Columns(p.Name), table.Columns.Add(p.Name, colType))
_ordinalMap.Add(p.Name, dc.Ordinal)
End If
Next
Return table
End Function
Upvotesそれらはすべて私はちょうどそれが滑らかな印象
1であるとして、このオプションを取り、その答えとしてこれをマーク働いていたとして、すべてのラウンドであります! –