Tengo que importar alrededor de 30k filas desde un archivo CSV a mi base de datos SQL, esto lamentablemente lleva 20 minutos.¿Cómo acelero DbSet.Add()?
La solución de problemas con un generador de perfiles me muestra que DbSet.Add toma más tiempo, pero ¿por qué?
que tienen estos Entity Framework Código-Primeras clases:
public class Article
{
// About 20 properties, each property doesn't store excessive amounts of data
}
public class Database : DbContext
{
public DbSet<Article> Articles { get; set; }
}
para cada elemento de mi bucle que hago:
db.Articles.Add(article);
Fuera del bucle for que hago:
db.SaveChanges();
Está conectado con mi servidor SQLExpress local, pero supongo que no hay nada escrito hasta Sav Se llama eChanges así que supongo que el servidor no será el problema ...
Hola. ¿Se deshizo de Entity Framework o usó sqlbulkcopy junto con EF? Estoy obteniendo exactamente el mismo problema con .Add() –
Si configura esto: 'db.Configuration.ValidateOnSaveEnabled = false; db.Configuration.AutoDetectChangesEnabled = false; ' Hay una gran ganancia de rendimiento. Debe estar seguro de sus valores difíciles. –
Usa barras (') para el código en los comentarios. Parece interesante, investigaré esas propiedades más adelante ... –