Chciałbym utworzyć tabelę danych z listą za pomocą metody CopyToDataTable dostępnej w DataTableExtensions. I wcześniej zadał pytanie How do I transform a List into a DataSet? i dostał exceptional answer z CMS co było do osiągnięcia tego, co chciałem, tworząc przedłużenie public static DataTable ToDataTable<T>(this IEnumerable<T> collection)
Jak korzystać z metody CopyToDataTable System.Data.DataTableExtensions?
Używam co zasugerował ... ale ostatnio nie mam seen in a blog że już istnieje takie rozszerzenie ... CopyToDataTable<T>(this IEnumerable<T> source) : DataTable
, które istnieje w System.Data.DataTableExtensions.
W związku z tym uważam, że powinienem przełączyć się na używanie tej wbudowanej metody rozszerzenia zamiast używać tej, którą sam bym sobie musiał utrzymać.
Niestety, mam problem z ustaleniem, jak go użyć.
Mogę wziąć mój IList i powiedzieć myListofMyClass.CopyToDataTable(), ale dostaję błąd kompilacji, który mówi "Typ" MyClass "musi być konwertowalny do" System.Data.DataRow ", aby użyć go jako parametru 'T "w ogólnej metodzie ..."
Czy jest coś specjalnego, co muszę zrobić, aby MyClass można było zamienić na System.Data.DataRow? Czy jest jakiś interfejs, który muszę wdrożyć?
Poszedłem z tą odpowiedzią, ponieważ jest ona najbliższa temu, co chciałem. Nie sądzę, że będę używał tych rozwiązań ... ale przynajmniej odpowiada na moje pytanie o to, dlaczego nie mogłem go użyć, ponieważ usunęli funkcję, a post na blogu był z powrotem w wersji beta ... – mezoid
Dlaczego nie użyjesz tego? Dodaliśmy go do naszego środowiska pracy (wraz z poprawką null, którą znajdziesz w jednym z komentarzy na tym blogu) i naprawdę działa świetnie. – BFree