Der schnellste Weg zum Masseneinfügen von Datensätzen in Entity Framework
Hallo zusammen! Ich bin ein C#-Anfänger und habe ein Leistungsproblem beim Masseneinfügen von Daten über Entity Framework. Ich habe eine Anwendung, die jede Minute etwa 10.000 Datensätze von einer externen API erhält und in einer SQL Server-Datenbank speichert.
Derzeit verwende ich eine normale Schleife mit Add() und SaveChanges() für jeden Datensatz, aber das dauert etwa 3-4 Minuten, was für meine Anwendung kritisch ist. Hier ist ein Beispiel meines Codes:
public void SaveRecords(List<MyEntity> records)
{
using (var context = new MyDbContext())
{
foreach (var record in records)
{
context.MyEntities.Add(record);
context.SaveChanges(); // Rufe für jeden Datensatz auf
}
}
}
Ich habe gehört, dass es effizientere Methoden gibt: die Verwendung von AddRange(), Batch-Verarbeitung, Bulk Insert. Aber ich bin mir nicht sicher, welcher Ansatz die maximale Leistung bringt. Auch änd