Mi piacerebbe creare una tabella dati data una lista usando il metodo CopyToDataTable disponibile in DataTableExtensions. Ho già fatto la domanda How do I transform a List into a DataSet? e ottenuto un exceptional answer da CMS, che era quello di raggiungere quello che volevo con la creazione di un prolungamento public static DataTable ToDataTable<T>(this IEnumerable<T> collection)
Come utilizzare il metodo CopyToDataTable System.Data.DataTableExtensions?
ho usato quello che ha suggerito ... ma di recente ho ci ho seen in a blog che già esiste una tale estensione ... CopyToDataTable<T>(this IEnumerable<T> source) : DataTable
che esiste in System.Data.DataTableExtensions.
Come risultato, immagino che dovrei passare a utilizzare questo metodo di estensione integrato invece di usarne uno che dovrei mantenere.
Sfortunatamente, sto avendo un po 'di problemi a capire come usarlo.
Posso prendere il mio IList e dire myListofMyClass.CopyToDataTable() ma ottengo un errore di compilazione che dice "Il tipo 'MyClass' deve essere convertibile in 'System.Data.DataRow' per poterlo usare come parametro 'T 'nel metodo generico ... "
C'è qualcosa di speciale che devo fare MyClass per renderlo convertibile in System.Data.DataRow? C'è qualche interfaccia che devo implementare?
Ho seguito questa risposta perché è la più vicina a ciò che volevo. Non credo che userò queste soluzioni ... ma almeno risponde alla mia domanda sul perché non potrei usarlo da quando hanno abbandonato la funzione e il post del blog era di ritorno nei giorni beta ... – mezoid
Perché non lo userai? L'abbiamo aggiunto al nostro framework al lavoro (insieme alla correzione nulla che troverai in uno dei commenti su quel post del blog) e funziona davvero alla grande. – BFree