variable type c# .net-4.0 datatable asp.net-4.0 anonymous-types

variable - get type dynamic c#



Conversión de tipo anónimo a DataTable (3)

¿Cuál es la forma más rápida de convertir el tipo anónimo a DataTable?

Actualización: deseo obtener y rellenar DataTable del tipo anónimo. Si la reflexión es necesaria, ¿cómo puedo hacerlo utilizando la reflexión?


/// summary fill datatable one (dt1)

Dim dt1 como Nueva DataTable

dt1 = connection.LoadPoliceData ("")

/// summary fill datatable one (dt2)

Dim dt2 como nueva DataTable

dt2 = connection.LoadDataCompare ("")

/// summary declare datatable save. donde quiero llenar datos Enumerables

Dim save como New DataTable

save.Columns.Add ("Nombre", GetType (Cadena))

save.Columns.Add ("Móvil", GetType (Cadena))

/// resumen escribiendo la consulta de linq con join de dt1 y dt2, y datatable (save)

Dim data1 = (De datarow1 En dt1.AsEnumerable Join datarow2 En dt2.AsEnumerable En datarow1.Field (Of String) ("NameofPerson") Es igual a datarow2.Field (Of String) ("Name") Y datarow1.Field (Of String) ("Móvil") Iguala datarow2.Field (Of String) ("MobileNumber") Seleccione save.LoadDataRow (New Object () {datarow1.Field (Of String) ("NameofPerson"), datarow2.Field (Of String) (" MobileNumber ")}, False)). Distinct (). ToList ()

/// conteo de resumen de datatable save

Dim i = save.Rows.Count


///fill dt1 Dim dt1 As New DataTable dt1 = connection.LoadPoliceData("") ///fll dt2 Dim dt2 As New DataTable dt2 = connection.LoadDataCompare("") ////fill enumerable data(anonymous data) in dt , using linq query Dim dt As New DataTable dt.Columns.Add("Name", GetType(String)) dt.Columns.Add("Mobile", GetType(String)) Dim data1 = (From datarow1 In dt1.AsEnumerable Join datarow2 In dt2.AsEnumerable On datarow1.Field(Of String)("NameofPerson") Equals datarow2.Field(Of String)("Name") And datarow1.Field(Of String)("Mobile") Equals datarow2.Field(Of String)("MobileNumber") Select dt.LoadDataRow(New Object() {datarow1.Field(Of String)("NameofPerson"), datarow2.Field(Of String)("MobileNumber")}, False)).Distinct().ToList()

Dim i = dt.Rows.Count

grabar en dt (variable de tabla de datos)


Encontrado aquí :

var result = from p in dataSource group p by p.City into cities select new { Property1 = cities.Key, Property 2= cities.Average(p => p.Age) }; dt.Columns.Add("Property1"); dt.Columns.Add("Property2"); foreach (var item in result) { dt.Rows.Add(item.Property1,item.Property2); }

Vea aquí para una solución genérica: ¿ Convertir lista / enumerable genérico a DataTable?