2016-04-12 12 views
0

Ich verwende eine Azure SQL-Datenbank, und ich frage mich, ob es eine Grenze gibt, wie viele Datensätze ich gleichzeitig einfügen kann. Ich habe einen Fall, in dem ich 7000+ Datensätze einfügen muss.Wie viele Datensätze kann ich gleichzeitig einfügen?

Wenn es ein Limit gibt, weiß jemand eine gute Möglichkeit, die Datensätze in Batches einzufügen?

foreach (var records in records) 
{ 
    db.Records.Add(record); 
} 

db.SaveChanges(); 

Antwort

1

Es gibt keine direkte Antwort auf diese Frage. Natürlich gibt es eine Grenze für die Anzahl der Datensätze, die Sie einfügen können. Dies hängt von vielen Dingen wie 32/64bit/Speicher/DB-Größe/Transaktionsgröße/add-Methode zu ef/Anzahl der Datensätze in einer Aktion/Transaktionen Sperren auf Ihrer db in einer Produktionssituation etc. Sie können einige Tests schreiben, die überprüft, wie groß Die Chucks müssen wie folgt aussehen: fastest-way-of-inserting-in-entity-framework. Oder Sie können AddRange verwenden: Ef bulk insert.

db.AddRange(records); 
db.SaveChanges(); 

Sie müssen entscheiden, auf, wenn Sie die Datensätze in einer Transaktion einfügen müssen oder Sie eine Reihe von Transaktionen verwenden können Ihre Tabellensperren kleiner zu halten.

Verwandte Themen