Comment puis-je convertir un DataTable dans une Dynamique d'objet?
Comment puis-je convertir un DataTable
dans IEnumerable<dynamicObject>
?
Par exemple, je veux convertir tout DataTable
ID | Name DI | emaN
--------- or ---------
1 | x 2 | x
2 | y 1 | y
Dans une liste d'objets
//list 1 (ex 1) //list 2 (ex 2)
{ {
{ ID = 1, Name = "x" } { DI = 2, emaN = "x" }
{ ID = 2, Name = "y" } { DI = 1, emaN = "y" }
} }
Donc
list1.First().ID //1
list2.First().emaN //"x"
Comment puis-je le faire?
OriginalL'auteur BrunoLM | 2011-10-17
Vous devez vous connecter pour publier un commentaire.
Comment sur avec
DynamicObject
:Vous pouvez également essayer primordial
TrySetMember
si vous souhaitez faire de la dynamique-ligne de l'écriture.Utilisation:
4 ans plus tard, encore une super réponse!
OriginalL'auteur Ani
dynamicDt.Add(dyn);
Devrait être en dehors de la boucle interne.Cette solution a fonctionné parfaitement pour moi que j'ai juste envie de se lier à la grille de données de datatable.
OriginalL'auteur Darin Dimitrov
Précédente suneelsarraf codes générés seulement exécution dynamique de l'objet de la propriété en tant que chaîne de caractères.
mise à jour suivante va générer chaque propriété basée sur la DataTable colonne du type de données.
OriginalL'auteur ChinaHelloWorld
Il y a quelques Orm qui peut lire directement à partir de DB à
dynamic ExpandoObject
. Par exemple petapoco (et lire ici la exemple)Ou vous pouvez essayer quelque chose de similaire:
Corrigé
OriginalL'auteur xanatos
essayer
tu veux dire - sans la connaissance des champs ?
Oui, exactement. De nouveaux champs peuvent apparaître ou disparaître, ou il pourrait être complètement différent champs.....
ensuite, votre meilleure option est d'utiliser un ORM comme petapoco ou Dapper - voir la réponse de xanatos
OriginalL'auteur Yahia
Convertir Datatable À La Liste
OriginalL'auteur suneelsarraf
Vous pouvez utiliser une extension comme ceci:
Utilisation:
Mais j'ai préféré un IDataReader approche si possible.
OriginalL'auteur mehyaa