2011-03-18 12 views
6

Czy można wypełnić obiekt zawartością DataTable?Od datatable do Entity

+0

Nie. AFAIK przechodzący przez DataTable będzie jedyną opcją – gideon

+0

Hmm, może jest lepszy sposób. Czytam arkusz kalkulacyjny do elementu dataTable, a następnie chcę go użyć do zapełnienia encji SQL. Idę o tym źle? – Brian

+0

@Brian Czytanie arkusza kalkulacyjnego bezpośrednio do encji SQL? – gideon

Odpowiedz

9

Nie jestem pewien, czy jest to dokładnie to, czego szukasz, ale powinno działać; istnieje metoda rozszerzenia .AsEnumerable(), którą można następnie wykorzystać do rzutowania wiersza na nowy obiekt.

var products = productTable.AsEnumerable().Select(row => new Product 
{ 
    ProductID = row.Field<int>("ProductID"), 
    Name = row.Field<string>("Name"), 
    CreatedDate = row.Field<DateTime>("CreatedDate") 
}); 

O ile wiem, że metoda .Field<T>() nie robi żadnej konwersji typu więc jeśli kolumna nie miał typ ustawiony będzie trzeba zrobić konwersję siebie.