A maneira mais rápida de inserir registros em massa no Entity Framework
Olá a todos! Sou um desenvolvedor C# iniciante e enfrentei um problema de desempenho ao inserir dados em massa através do Entity Framework. Tenho uma aplicação que recebe cerca de 10.000 registros de uma API externa a cada minuto e os salva em um banco de dados SQL Server.
Atualmente, estou usando um loop comum com Add() e SaveChanges() para cada registro, mas isso leva cerca de 3-4 minutos, o que é crítico para minha aplicação. Aqui está um exemplo do meu código:
public void SaveRecords(List<MyEntity> records)
{
using (var context = new MyDbContext())
{
foreach (var record in records)
{
context.MyEntities.Add(record);
context.SaveChanges(); // Chamo para cada registro
}
}
}
Ouvi dizer que existem maneiras mais eficientes: usar AddRange(), processamento em lote, Bulk Insert. Mas não tenho certeza de qual abordagem proporcionará o máximo desempenho. Também mudei
No answers yet.
Faça login para deixar uma resposta
Blogs