2009-11-10 14 views
6

¿Existe alguna compatibilidad con versiones anteriores en el marco de entidades entre SQL Server 2008 y 2005?Compatibilidad con versiones anteriores de SQL Server en Entity Framework?

Parece que el marco obliga a utilizar el mismo proveedor para todos los archivos .edmx en una solución.

Si utiliza el proveedor de 2008, los tipos de datos como DateTime2 y funciona como SysDateTime que son emitidos por el marco de la consulta SQL subyacente hacen que sea inútil para usarlos en contra de un servidor SQL 2005.

¿Hay alguna forma de evitar esto?

Respuesta

3

¿Ha establecido el ProviderManifestToken en el EDMX al 2005? Si tiene la intención de apoyar 2005, debería hacerlo. Si diseña su EDMX utilizando un servidor de 2008, el diseñador de la GUI optimizará el modelo para 2008, incluidos los tipos de datos y la sintaxis de las consultas. Si diseña su EDMX contra un servidor 2005, solo se usarán tipos compatibles con 2005, y ProviderManifestToken se establecerá en 2005.

+0

estoy de acuerdo. Sin embargo, en mi situación, tenemos que apoyar tanto en el servidor SQL 2005 y 2008. Para mantener separada construye para cada uno de ellos parece demasiado cuando yo hubiera sido capaz de apoyar tanto a las bases de datos sin ningún problema si he escrito mi propia capa de datos en lugar de usar el marco de la entidad. Debería haber habido una propiedad configurable que debe permitir compatibilty backword. – shake

+1

** Usted no tiene que hacer dos construcciones. ** Ya existe una propiedad. Incluso le di un enlace en mi respuesta. Establézcalo en 2005 y su aplicación funcionará tanto en 2005 como en 2008. –

+0

Sí, probablemente tenga razón. Creo que recibí mi error porque estaba tratando de actualizar el modelo utilizando sql server 2008 con ProviderManifestToken configurado en 2005. Solo consultar no debería causarme ningún dolor. Gracias – shake

Cuestiones relacionadas