5

He buscado pero no he encontrado mucho sobre este tema. ¿Alguien ha visto un "orden de operaciones" conciso para DBContext, incluyendo cosas como creación de instancias, validación, guardado, etc.? Principalmente me siento curioso porque al usar LINQPad con mi contexto EF 4.3 Code First, se ejecutan dos consultas antes que las mías. Una tiene que ver con el historial de migración, que entiendo es porque estamos usando EF Migrations y estamos tratando de ver si necesita una actualización automática, y otra es para la tabla EdmMetadata que no entiendo, ya que suena como que eso es no es necesario si estamos usando EFMigrations.Código EF Primero 4.3 DbContext ¿Ciclo de vida?

Mi falta de comprensión de por qué se llama a una consulta hace que me pregunte si hay otras partes del ciclo de vida de DBContext que desconozco que podrían ser útiles para comprender/anular. ¡Gracias por adelantado!

+0

(perdón por mi inglés malo) Aquí hay alguna información: http://blog.oneunicorn.com/2012/01/13/ef-4-3-beta-1-what-happened-to-that-edmmetadata -table /, EF 4.3 tiene la capacidad de usar EdmMetadata para probar la compatibilidad del modelo, aunque, como dijiste, si estás utilizando Migrations probablemente no debería usarlo en absoluto. Pero tengo más curiosidad acerca de cómo conseguiste que linqpad funcione con EF 4.3 ... recibo un error "no se pudo cargar EntityFramework 4.1" al intentar abrir el ensamblado de mi contexto :( – Leo

+0

Creo que solo funciona en la última versión versión beta de LINQPad. – Ocelot20

+0

Creo que eso es lo que estoy usando, versión 4.38.03 ... solo para estar seguro, ¿está compilando su proyecto con EntityFramework 4.3.0.0? – Leo

Respuesta

0

La consulta para EdmMetadata es por razones de compatibilidad. EF 4.1 no tuvo migraciones. Para poder determinar si el modelo cambió o no, se utilizó la tabla EdmMetadata. Digamos que desarrollaste una aplicación usando la aplicación EF 4.1 y te moviste a EF 4.3 pero no cambiaste el modelo. En este caso, no es necesario ejecutar migraciones, lanzar excepciones o tocar la base de datos ya que su modelo no ha cambiado. La llamada a la tabla EdmMetadata es solo para poder manejar esta situación con elegancia y evitar tirar o tocar la base de datos si no es necesaria. No creo que haya otros cambios de este tipo en EF 4.3.

Cuestiones relacionadas