2012-05-08 4 views
0

En ce moment je suis en utilisantmoyen le plus rapide pour lire les données IDbConnection.Command

OleDbDataAdapter objDataReader = new OleDbDataAdapter(); 
objDataReader.SelectCommand = myCommand; 
objDataReader.Fill(myDataTable); 

Mais je sens que l'objet DataTable est un objet massif pléthorique, je voudrais savoir s'il y a une manière que je peux faire mon propre objet à envoyer au lecteur de données, ou utiliser un plus léger?

+0

Pas vraiment une réponse, mais peut-être Il vaut la peine de souligner que les méthodes ne sont pas vraiment envoyées avec chaque objet. – carlpett

+1

Il n'y a qu'une seule raison pour laquelle un DataTable est pléthorique: le bourrer de milliers de résultats de requête. Ce n'est pas un problème de DT, c'est un problème de requête. –

+0

Etant donné que DT a un objet pour identifier chaque colonne, qui peut avoir de nombreuses propriétés, comme autoincrément, et datatable peut même avoir des clés primaires et autres, il est bien plus grand qu'un simple objet avec des propriétés de la table. – gosukiwi

Répondre

2

Mais je sens que l'objet DataTable est un objet massif pléthorique, je voudrais savoir s'il y a une manière que je peux faire mon propre objet d'envoyer des données à lecteur , ou utiliser un briquet?

Vous appelez la méthode de LoadDataTable pour charger les données dans l'aide d'un IDataReader. Vous avez dit l'inverse, ce qui n'est pas vrai.

En ce qui concerne DataReader, c'est en fait très rapide. Si vous n'aimez pas utiliser un DataTable, vous pouvez regarder d'autres alternatives telles que Entity Framework ou hydratant simplement vos propres objets métier sur mesure par itérer à travers le DataReder comme si:

while (reader.Read()) 
{ 
    //Hydrate your objects here 
} 
+0

Merci! C'est ce dont j'avais besoin. – gosukiwi

Questions connexes