Convertir à la Liste de DataReader .net
J'ai une requête avec une jointure comme ceci:
string cmdString = "select tblPackages.*, tblPackageTypes.Name from tblPackages join tblPackageTypes on tblPackages.TypeId = tblPackageTypes.Id";
Maintenant, j'utilise cette commande SQL et obtenir un datareader comme ceci:
SqlCommand cmd = new SqlCommand(cmdString,con);
SqlDataReader dr;
Je veux remplir les valeurs de lecteur de données d'une liste. J'ai évoqué ce lien mais je n'ai pas eu ce dont j'avais besoin.
J'ai colonnes suivantes de la sortie de sql
Id, TypeId, AllowedSMS, TimeSpan, Price, TypeName.
Je veux juste passer dans la liste. Merci de m'aider.. et je suis nouvelle asp.net
"mais je n'ai pas ce que j'avais besoin de" => Qu'avez-vous essayé et ce que vous avez réellement obtenir?
la liste est de type int, mais j'avais besoin de la liste de toutes les colonnes
Ensuite, vous devrez créer une classe pour stocker les valeurs des colonnes dont vous avez besoin.
la liste est de type int, mais j'avais besoin de la liste de toutes les colonnes
Ensuite, vous devrez créer une classe pour stocker les valeurs des colonnes dont vous avez besoin.
OriginalL'auteur Robz | 2014-01-03
Vous devez vous connecter pour publier un commentaire.
Bien, dans votre cas, vous avez besoin d'un classe qui peut contenir vos colonnes:
Bien sûr, puisque vous n'avez pas à définir quel type de données de ces colonnes, c'est juste une deviner - vous pourriez avoir besoin pour s'adapter à vos besoins concrets.
Et maintenant, vous avez besoin pour effectuer une itération sur les
SqlDataReader
et récupérer les valeurs à partir du lecteur de données et de remplir votre classe nouvellement créée:Est-il un moyen (peut-être avec Linq?) pour sélectionner ou de fonte
SqlDataReader dr
commeList<MyClass>
au lieu de interating chaque enregistrement avecdr.Read()
? Semblable à un Lambda.Select(a => new MyClass(){ Id = a.Id, TypeId = a.TypeId })
etc?OriginalL'auteur marc_s