Compatibilidad del proveedor con tipos espaciales

Entity Framework admite el trabajo con datos espaciales a través de las clases DbGeography o DbGeometry. Estas clases se basan en la funcionalidad específica de la base de datos que ofrece el proveedor de Entity Framework. No todos los proveedores admiten datos espaciales y los que sí lo hacen pueden tener requisitos previos adicionales, como la instalación de ensamblados de tipo espacial. A continuación se proporciona más información sobre la compatibilidad del proveedor con tipos espaciales.

Puede encontrar información adicional sobre cómo usar tipos espaciales en una aplicación en dos tutoriales, uno para Code First y otro para Database First o Model First:

Versiones de EF que admiten tipos espaciales

La compatibilidad con los tipos espaciales se introdujo en EF5. Sin embargo, en EF5 los tipos espaciales solo se admiten cuando la aplicación se destina y ejecuta en .NET 4.5.

A partir de Ef6, los tipos espaciales se admiten para aplicaciones destinadas a .NET 4 y .NET 4.5.

Proveedores de EF que admiten tipos espaciales

EF5

Los proveedores de Entity Framework para EF5 que sabemos que admiten tipos espaciales son:

  • Proveedor de Microsoft SQL Server
    • Este proveedor se envía como parte de EF5.
    • Este proveedor depende de algunas bibliotecas adicionales de bajo nivel que pueden necesitar instalarse; consulte a continuación para obtener más información.
  • Devart dotConnect para Oracle
    • Este es un proveedor de terceros de Devart.

Si conoce un proveedor de EF5 que admite tipos espaciales, póngase en contacto y estaremos encantados de agregarlo a esta lista.

EF6

Los proveedores de Entity Framework para EF6 que sabemos que admiten tipos espaciales son:

  • Proveedor de Microsoft SQL Server
    • Este proveedor se envía como parte de EF6.
    • Este proveedor depende de algunas bibliotecas adicionales de bajo nivel que pueden necesitar instalarse; consulte a continuación para obtener más información.
  • Devart dotConnect para Oracle
    • Este es un proveedor de terceros de Devart.

Si conoce un proveedor de EF6 que admite tipos espaciales, póngase en contacto y estaremos encantados de agregarlo a esta lista.

Requisitos previos para los tipos espaciales con Microsoft SQL Server

La compatibilidad espacial de SQL Server depende de los tipos específicos de SQL Server de bajo nivel, sqlGeography y SqlGeometry. Estos tipos residen en el ensamblado Microsoft.SqlServer.Types.dll y este ensamblado no se incluye como parte de EF o como parte de .NET Framework.

Cuando Visual Studio esté instalado, a menudo también instalará una versión de SQL Server y esto incluirá la instalación de Microsoft.SqlServer.Types.dll.

Si SQL Server no está instalado en el equipo en el que desea usar tipos espaciales o si los tipos espaciales se excluyeron de la instalación de SQL Server, deberá instalarlos manualmente. Los tipos se pueden instalar mediante SQLSysClrTypes.msi, que forma parte de Microsoft SQL Server Feature Pack. Los tipos espaciales son específicos de la versión de SQL Server, por lo que se recomienda buscar "SQL Server Feature Pack" en el Centro de descarga de Microsoft y, a continuación, seleccionar y descargar la opción correspondiente a la versión de SQL Server que usará.