Comment Convertir datarow à un Objet
J'ai emballé une DataRow sur mon projet
DataRow datarow;
Je veux convertir cette datatrow à tout Type d'Objet.
Comment pourrais-je le faire?
DataRow est un objet par défaut. Qu'essayez-vous de réaliser?
Je veux convertir datarow à un type d'objet avec des valeurs
Que diriez -
Je n'ai aucune idée sur Entity Framework
Je veux convertir datarow à un type d'objet avec des valeurs
Que diriez -
Entity Framework
?Je n'ai aucune idée sur Entity Framework
Entity Framework
transforme une base de données dans un fortement typé ensemble de classes avec des propriétés de grandes choses! Google!OriginalL'auteur folk | 2013-10-30
Vous devez vous connecter pour publier un commentaire.
C'est une façon plutôt cool je l'utilise.
OriginalL'auteur Jonathan Santiago
ou
OriginalL'auteur Avi Fatal
J'Ai trouvé une solution pour mon application.
Ce sera la carte de votre DataRow à ViewModel, Comme ci-dessous.
Je travaille toujours sur elle...
Je suis encore à l'utiliser. Juste que je vais à travers une grande rampe de déménagement à partir de C++, C#, donc je suis de l'accaparement des extraits de tous les coins avec un peu de temps pour se plonger dans certaines de ces questions. Appréciez le code, comme un C# noob!
J'ai beaucoup de cartographie comme cela, laissez-moi savoir si vous avez besoin d'autre chose..
votre dernier contiendra les mêmes biens et nom de la colonne que vous avez dans votre table, il est sensible à la casse. donc, vous devez assurez-vous que quelle que soit la propriété que vous voulez à la carte à partir de la table, il devrait être là dans le ViewModel.
OriginalL'auteur Bharat
Donné
Converter<TIn, TOut>
est un délégué, puis la suivante devrait fonctionner:https://docs.microsoft.com/en-us/dotnet/api/system.converter-2
OriginalL'auteur Thilina H
En dehors de la méthode manuelle Avi, vous pouvez utiliser un système de cartographie comme AutoMapper de faire la transformation pour vous. Ceci est particulièrement utile dans le cas où vous avez un grand nombre de colonnes/propriétés de la carte.
Découvrez cet article sur la façon d'utiliser AutoMapper pour convertir un
DataTable
à une liste d'objets.Puisque la question est explicitement sur la conversion d'une
DataRow
à un autre type d'objet, le problème ne se pose pas.Mais DataRow est 'non'. Automapper ne sera pas en mesure d'en déduire que la carte à quoi, et vous êtes donc retour à la case départ. L'OP peut alors étudier les AutoMappers IDataReader capacité de cartographie qui t faire intelligent trucs pour convertir des datarow en-fortes, et c'est ce que mon commentaire d'origine informe sur
OriginalL'auteur Corey
Similaires à certains des approches précédentes, j'ai créé cette méthode d'extension pour
DataRow
qui prend un argument objet d'être rempli. Principale différence est que, en plus de remplissage de Propriétés de l'objet, il renseigne également les Champs de l'objet donné. Cela devrait aussi fonctionner pour des structures plus simples (Mais j'ai testé uniquement sur les objets).Vous pouvez placer ce code dans votre classe ou dans une classe statique.
Il a besoin d'espaces de noms suivants...
Utilisation est aussi simple que...
OriginalL'auteur Nashe
DataRow a une propriété ItemArray, qui contient un tableau de valeurs de l'objet. Vous pouvez travailler avec ce tableau et de créer tout type personnalisé avec les valeurs de votre DataRow.
OriginalL'auteur IDeveloper
Avec ces changements a bien fonctionné pour moi, pour les champs de type int, long, int? et de temps?
OriginalL'auteur Daniel Carvalho Liedke