Me gustaría crear una tabla de datos con una lista usando el método CopyToDataTable disponible en DataTableExtensions. Anteriormente he hecho la pregunta How do I transform a List into a DataSet? y tengo una exceptional answer de CMS que era para conseguir lo que quería mediante la creación de una extensión public static DataTable ToDataTable<T>(this IEnumerable<T> collection)
¿Cómo uso el método CopyToDataTable de System.Data.DataTableExtensions?
He estado usando lo que sugiere ... pero recientemente he seen in a blog que ya existe una extensión ... CopyToDataTable<T>(this IEnumerable<T> source) : DataTable
que existe en System.Data.DataTableExtensions.
Como resultado, me imagino que debería cambiar a usar este método de extensión incorporado en lugar de usar uno que yo tendría que mantener.
Desafortunadamente, estoy teniendo problemas para encontrar la manera de usarlo.
puedo llevar a mi IList y decir myListofMyClass.CopyToDataTable() pero me da un error de compilación que dice: "El tipo 'MiClase' debe ser convertible en 'System.Data.DataRow' con el fin de utilizarlo como parámetro 'T 'en el método genérico ...'
¿Hay algo especial que necesite para hacer MyClass para poder convertirlo a System.Data.DataRow? ¿Hay alguna interfaz que necesito implementar?
Me he ido con esta respuesta porque es la más cercana a lo que quería. No creo que use estas soluciones ... pero al menos responde mi pregunta acerca de por qué no podía usarlo, ya que abandonaron la función y la publicación del blog fue desde atrás en los días beta ... – mezoid
¿Por qué? ¿No usarás esto? Lo agregamos a nuestro marco en el trabajo (junto con la corrección nula que encontrará en uno de los comentarios en esa publicación de blog) y realmente funciona de maravilla. – BFree