Ich bin mitten in einem Projekt, wo wir eine Datenbank mit mehr als 20 Millionen Datensätze abfragen, mehrere Filter anwenden unsere Abfrage gibt ca. 200 Datensätze zurück (nach etwa warten auf 1.30 Minuten). Nach dem Abfragen der Datenbank versuche ich, Objekte von diesem bestimmten Datenreader zu erstellen, aber alle 15 oder 16 Datensätze hängen der asp.net-Prozess (hängt im Debugger), also denke ich, dass es ein DataReader-Problem ist.DataReader hängt während der Zuordnung eines Datensatzes zu einem Objekt
Das macht mich verrückt.
Hier ist der Code, den ich
using (IDataReader reader = cmd.ExecuteReader())
{
List<Project> projects = new List<Project>();
while(reader.Read()) projects.Add(GetMappedRecord(reader));
}
private Project GetMappedRecord(DataRow reader)
{
Project project = new Project();
project.PropertyA = reader["FieldA"] as string;
// and so on and so forth...
return project;
}
Alle 15 | 16 Datensätze ... es hängt. Es kann nur nach den ersten 15 hängen bleiben, oder alle 15 verzögert werden. Diese letzte Option riecht, als ob 15 | 16 Datensätze in einem Paket passen, und Ihre Abfrage liefert erst die _first_ Datensätze nach 1:30. Einige Abfragen können (und werden) träge ausgeführt werden. –