Entity Framework 4.1 DatabaseGeneratedOption.Identity Performance

Actualmente estoy trabajando en una aplicación que usa Entity Framework 4.1 (código primero) y SQL Server CE 4.0. Una de las cosas nuevas que realmente me gustan de SQL Server CE 4.0 son los valores calculados.

Pero tengo algún problema de rendimiento al importar datos antiguos en mi nuevo sistema de almacenamiento de datos (alrededor de 50000 entradas). Esta es mi segunda implementación para esto. La primera versión usaba Entity Framework 4.0 y SQL Server CE 3.5. Pero hay una gran diferencia de rendimiento entre estas implementaciones. La primera implementación del código demora alrededor de una hora para importar las entradas, la otra implementación solo unos minutos.

La mayor parte del tiempo se pasa en laSaveChanges método. Seguí el problema hasta el[DatabaseGenerated(DatabaseGeneratedOption.Identity)] atributo. Si uso[DatabaseGenerated(DatabaseGeneratedOption.None)] e implementar mi propia generación de claves (como una solución alternativa simple) el rendimiento vuelve al nivel de la primera implementación.

¿Es este un problema conocido? ¿Hay alguna forma de resolver este problema de rendimiento? ¿O generar mis propias claves es el camino a seguir?

Respuestas a la pregunta(2)

Su respuesta a la pregunta