AiNoTame

Dio è nella pioggia.
posts - 17, comments - 79, trackbacks - 0

EF CodeFirst Load data

Capita, soprattutto nel metodo Seed del IDatabaseInitializer<CTX> o nel nuovo DbMigrationsConfigurations<CTX>, di caricare una certa quantità di dati passando dal DbContext (nel mio caso da una piccola applicazione che parsa alcuni file).

Se questa quantità di dati è cospiqua (10000 oggetti), ci si potrebbe ritrovare a perdere un po' di tempo (2 minuti) aspettando che vengano aggiunti al contesto tutti i dati (non sto parlando del tempo di salvataggio, ma di aggiunta al contesto).
Ciò è dovuto al fatto che ogni chiamata al metodo DbSet<Entity>.Add(new object()) chiama implicitamente ObjectContext.DetectChanges().

Per evitare questo, basta impostare:

Context.Configuration.AutoDetectChangesEnabled = false;

Attenzione tuttavia all'uso: "these options are advanced and can potentially introduce subtle bugs into your application if not used correctly" MSDN

 

Print | posted on mercoledì 21 marzo 2012 14:07 | Filed Under [ EntityFramework ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET