Ich habe eine Datenbanktabelle, die viele Datensätze enthalten könnte und ich möchte die aktuelle Summe in der Tabelle zählen. Ich wollte eine einfach tun:LINQ und die Count-Extension-Methode
DataContext.Table.Count(c => c.condition);
Bis ich den Rückgabetyp für Count
int
ist realisiert. Was ist, wenn die Tabelle mehr Werte enthalten soll, als in 32 Bits dargestellt werden können? Wie kann ich sie zählen?
Sollte ich sie auf eine andere Art und Weise zählen, wenn wir über diese Art von Skala sprechen?
Obwohl die LongCount() - Erweiterungsmethode Ihre Lösung ist, erhalten Sie in der Regel eine Laufzeitüberschreitung, wenn Ihr Filterergebnissatz die durch 'int.MaxValue' angegebene Zahl überschreitet. In der Tat wird es weit unter "int.MaxValue", vergessen gehen zu "long" (BIGINT in SQL) Bereich von Datensätzen. CLR beschränkt die maximal zulässige Größe eines Objekts auf 2 GB. Bitte denken Sie darüber nach, Ihre Anwendung neu zu gestalten, wenn Sie wirklich diese vielen Datensätze im Speicher haben. Weitere Details hier - http://stackoverflow.com/questions/1087982/single-objects-still-limited-to-2-gb-in-size-in-clr-4-0 – RBT