Dans mon exemple, j'ai essayé d'afficher les informations pivotantes dans le contrôle Grid avec la source des éléments donnés. Dans ce cas, pour passer la source des éléments, j'ai besoin de convertir le DataTable
en IList<myType>
en C#.Comment convertir rapidement DataTable en IList <myType>
J'ai essayé toutes les méthodes de conversion traditionnelles, y compris le code ci-dessous pour convertir le DataTable
en IList
.
dt.AsEnumerable().Cast<object>().ToList()
Mais les toutes les méthodes traditionnelles ne sont pas utiles pour moi car, je ne sais pas exactement quels sont les objets sont utilisés et leurs types dans les colonnes respectives DataTable
. Aussi le DataTable
ayant plus de nombre de colonnes et de lignes.
Par exemple, j'ai les valeurs de colonne ci-dessous dans ma table de données.
PlanRowPID,PlanRowClass,PlanRowVendor,PlanRowColor
PID 0,CLASS 8,VENDOR A,COLOR D
PID 1,CLASS 7,VENDOR B,COLOR C
PID 2,CLASS 9,VENDOR C,COLOR B
PID 3,CLASS 6,VENDOR D,COLOR B
Et enfin je veux faire ce qui suit pro-grammaticalement,
IList<myType> list = new IList<myType>;
list.Add(new myType() {PlanRowPID = "PID 0",PlanRowClass = "CLASS 8",PlanRowVendor = "VENDOR A",PlanRowColor=COLOR D});
list.Add(new myType() {PlanRowPID = "PID 1",PlanRowClass = "CLASS 7",PlanRowVendor = "VENDOR B",PlanRowColor=COLOR C});
list.Add(new myType() {PlanRowPID = "PID 2",PlanRowClass = "CLASS 9",PlanRowVendor = "VENDOR C",PlanRowColor=COLOR B});
Dans mon application, j'ai plus de 10000 colonnes de données, il est donc impossible d'ajouter chaque objet à partir des données table dans la liste.J'ai besoin de passer plus de temps et de connaissances pour trouver le type de données de chaque colonne disponible dans DataTable
puis de créer les propriétés en fonction de leurs types pour la classe myType
.
Veuillez donc fournir un moyen optimal et rapide de convertir le DataTable
en IList<myType>
.
Avez-vous essayé d'utiliser un ORM comme Entity Framework? – dymanoid
Oui, mais ORM n'est utile que si j'ai moins d'entités. Dans le cas où j'ai plus de nombre d'entités, il est difficile de créer la classe avec trouver le type de données de chaque colonne. J'ai besoin de la méthode programmatique pour trouver le type et créer la classe efficacement. –
Pouvez-vous nous expliquer pourquoi vous avez 10 000 colonnes? – mjwills