Suporte de Fornecedores para Tipos Espaciais

O Entity Framework suporta o trabalho com dados espaciais através das classes DbGeography ou DbGeometry. Estas classes dependem da funcionalidade específica da base de dados oferecida pelo fornecedor do Entity Framework. Nem todos os fornecedores suportam dados espaciais e os que o fazem podem ter pré-requisitos adicionais, como a instalação de conjuntos de tipos espaciais. Mais informações sobre o suporte dos fornecedores para tipos espaciais são fornecidas abaixo.

Informações adicionais sobre como usar tipos espaciais numa aplicação podem ser encontradas em dois walkthroughs, um para Code First e outro para Database First ou Model First:

Lançamentos de EF que suportam tipos espaciais

O suporte para tipos espaciais foi introduzido no EF5. No entanto, no EF5, os tipos espaciais só são suportados quando a aplicação tem como alvo e corre em .NET 4.5.

A partir do EF6, são suportados tipos espaciais para aplicações que visam tanto .NET 4 como .NET 4.5.

Fornecedores de EF que suportam tipos espaciais

EF5

Os fornecedores do Entity Framework para EF5 de que temos conhecimento e que suportam tipos espaciais são:

  • Fornecedor Microsoft SQL Server
    • Este fornecedor é incluído como parte do EF5.
    • Este fornecedor depende de algumas bibliotecas adicionais de baixo nível que possam precisar de ser instaladas — ver abaixo para mais detalhes.
  • Devart dotConnect para Oracle
    • Este é um fornecedor externo da Devart.

Se conhecer um fornecedor EF5 que suporte tipos espaciais, por favor contacte-nos e teremos todo o gosto em adicioná-lo a esta lista.

EF6

Os fornecedores do Entity Framework para EF6 de que temos conhecimento e que suportam tipos espaciais são:

  • Fornecedor Microsoft SQL Server
    • Este provedor é disponibilizado como parte do EF6.
    • Este fornecedor depende de algumas bibliotecas adicionais de baixo nível que possam precisar de ser instaladas — ver abaixo para mais detalhes.
  • Devart dotConnect para Oracle
    • Este é um fornecedor externo da Devart.

Se conhece um fornecedor EF6 que suporte tipos espaciais, por favor contacte-nos e teremos todo o gosto em adicioná-lo a esta lista.

Pré-requisitos para tipos espaciais com Microsoft SQL Server

O suporte espacial do SQL Server depende dos tipos de baixo nível, específicos do SQL Server, SqlGeography e SqlGeometry. Estes tipos estão localizados na assembly Microsoft.SqlServer.Types.dll, e esta assembly não é fornecida como parte do EF ou do .NET Framework.

Quando o Visual Studio é instalado, muitas vezes também instala uma versão do SQL Server, incluindo a instalação do Microsoft.SqlServer.Types.dll.

Se o SQL Server não estiver instalado na máquina onde pretende usar os tipos espaciais, ou se os tipos espaciais foram excluídos da instalação do SQL Server, então terá de os instalar manualmente. Os tipos podem ser instalados usando SQLSysClrTypes.msi, que faz parte do Microsoft SQL Server Feature Pack. Os tipos espaciais são específicos da versão do SQL Server, por isso recomendamos que pesquise por "SQL Server Feature Pack" no Centro de Downloads da Microsoft, depois selecione e descarregue a opção que corresponda à versão do SQL Server que irá utilizar.