2010-10-28 8 views
6

Tengo un proyecto web VS2008 con un modelo de datos EF1. Ahora lo he convertido a un proyecto VS2010 con .Net 4. Mi pregunta es sobre Entity Framework. ¿Cómo puedo ver qué versión de EF es? ¿O cómo puedo asegurarme de que sea EF 4?Ver la versión de Entity Framework

Respuesta

3

En realidad, hay dos preguntas aquí:

  1. Cuál es la versión de montaje EF? En un proyecto (correcto) .NET 4, realmente solo puede ser 4.
  2. ¿Cuál es su versión de modelo EF? Quizás sorprendentemente, los conjuntos EF 4 son compatibles con los modelos EF 1 y EF 4 en tiempo de ejecución.

Al actualizar un proyecto VS 2008 a .NET 4, también actualizará el EDMX a un modelo EF 4. Pero si se saltó esto o simplemente quiere confirmar que es correcto, mire los elementos xmlns en el EDMX.

  • Para CSDL, EF 4 es "http://schemas.microsoft.com/ado/2008/09/edm"; EF 1 es "http://schemas.microsoft.com/ado/2006/04/edm".
  • Para SSDL, EF 4 es "http://schemas.microsoft.com/ado/2009/02/edm/ssdl"; EF 1 es "http://schemas.microsoft.com/ado/2006/04/edm/ssdl"
  • Para MSL, EF 4 es "http://schemas.microsoft.com/ado/2008/09/ mapeo/cs "; EF 1 es "urn: schemas-microsoft-com: windows: almacenamiento: mapeo: CS"
+0

¡Gracias! En ese caso, puedo confirmar que mi modelo es EF4. – karl

9

Puede consultar referencias de proyectos en la versión de System.Data.Entity.dll.

6

Mire su versión de referencia 'System.Data.Entity', si es 3.5.0.0, entonces es EF1. Si es 4.0.0.0, entonces estás usando EF4.

+0

Gracias por su respuesta. Entonces, si abro un proyecto VS2008 con VS2010 y esto se convierte con éxito (.NET 4 y System.Data.Entity es 4.0 ...) ¿mi modelo de datos también se convierte? ¿O necesito reconstruir mi nodo de la base de datos? – karl

+0

No estoy seguro, pero no creo que se convierta automáticamente. De todos modos, ¿por qué no lo pruebas? Haga una copia de seguridad, continúe y nos dice el resultado. Creo que EF4 tiene compatibilidad con EF1. – goenning