2012-08-28 10 views
5

nos movemos algunos proyectos de VS2010 a VS2012 pero aún utilizando .NET 4.0 y no .NET 4.5El uso de EF 4.4 y no 5.0 con VS2012

Cuando agrego una nueva EDMX, el uso VS2012 EF 5.0 pero yo' d me gusta continuar usando la versión 4.x es el primer punto.

Segundo punto la versión 5.0, hereda de DbContext y no ObjectContext como la versión 4.x. Con la versión 5.0 no veo ninguna forma de pasar la cadena de conexión como parámetro.

¿Cómo puedo usar la versión 4.x en VS2012, con el mismo comportamiento de diseñador de EDMX?

Gracias,

+0

EF 4.4 es el ensamblado .NET 4 independiente EntityFramework.dll, que también contiene 'DbContext'. 'ObjectContext' es parte del ensamblado central' System.Data.Entity.dll'. ¿Solo quieres usar el último? Si es así, eso es EF 4.0, no 4.4. – hvd

+0

@hvd El punto es cómo generar EDMX versión 4 de VS2012 y no EF 5? –

+0

La versión de EDMX es 2.0, no 4, no 5, y agregar un EDMX a un proyecto de .NET 4 agrega una referencia a EF 4.4, no a EF 5, por lo que no es claro para mí de qué se trata su primer punto. El segundo punto (DbContext vs ObjectContext) es claro, solo que no estoy seguro de lo que estás preguntando más allá de eso. – hvd

Respuesta

10

Como se ha mencionado en los comentarios, en realidad está recibiendo EF 4.4, no 5.0 EF. Sin embargo, confusamente, EF 4.4 está incluido en el paquete NuGet EntityFramework 5.0.

Para su otra pregunta, puede abrir el EDMX en el diseñador, restaurar la "Estrategia de generación de código" de "Ninguno" a "Predeterminado", luego en el explorador de soluciones, elimine los archivos .tt. Ahora tendrá su ObjectContext nuevamente y, si lo desea, puede eliminar el paquete EntityFramework de su proyecto.

No estoy seguro de si hay alguna manera de cambiar este comportamiento predeterminado al agregar el paquete NuGet.

+0

¿Hay alguna manera de volver a la nueva versión? (sin eliminar y crear EDMX) –

+1

@ Kris-I Sí, haga clic en el diseñador y seleccione "Agregar elemento de generación de código" (de la memoria, el texto real puede ser ligeramente diferente) – hvd

Cuestiones relacionadas