Prise en charge du fournisseur pour les types spatiaux

Entity Framework prend en charge l’utilisation de données spatiales via les classes DbGeography ou DbGeometry. Ces classes s’appuient sur des fonctionnalités spécifiques à la base de données offertes par le fournisseur Entity Framework. Tous les fournisseurs ne prennent pas en charge les données spatiales et celles qui peuvent avoir des prérequis supplémentaires, tels que l’installation d’assemblies de type spatial. Vous trouverez ci-dessous plus d’informations sur la prise en charge du fournisseur pour les types spatiaux.

Vous trouverez des informations supplémentaires sur l’utilisation des types spatiaux dans une application dans deux procédures pas à pas, une pour Code First, l’autre pour Database First ou Model First :

Versions EF prenant en charge les types spatiaux

La prise en charge des types spatiaux a été introduite dans EF5. Toutefois, dans EF5 les types spatiaux sont pris en charge uniquement lorsque l’application cible et s’exécute sur .NET 4.5.

À compter de EDF6, les types spatiaux sont pris en charge pour les applications ciblant à la fois .NET 4 et .NET 4.5.

Fournisseurs EF prenant en charge les types spatiaux

EF5

Les fournisseurs Entity Framework pour EF5 dont nous savons qu’ils prennent en charge les types spatiaux sont les suivants :

  • Fournisseur Microsoft SQL Server
    • Ce fournisseur est expédié comme prenant en charge EF5.
    • Ce fournisseur dépend de certaines bibliothèques de bas niveau supplémentaires qui peuvent avoir besoin d’être installées. Voir ci-dessous pour plus d’informations.
  • Devart dotConnect pour Oracle
    • Il s’agit d’un fournisseur tiers de Devart.

Si vous connaissez un fournisseur EF5 qui prend en charge les types spatiaux, contactez-nous et nous serons heureux de l’ajouter à cette liste.

EF6

Les fournisseurs Entity Framework pour EF6 dont nous savons qu’ils prennent en charge les types spatiaux sont les suivants :

  • Fournisseur Microsoft SQL Server
    • Ce fournisseur est expédié comme prenant en charge EF6.
    • Ce fournisseur dépend de certaines bibliothèques de bas niveau supplémentaires qui peuvent avoir besoin d’être installées. Voir ci-dessous pour plus d’informations.
  • Devart dotConnect pour Oracle
    • Il s’agit d’un fournisseur tiers de Devart.

Si vous connaissez un fournisseur EF6 qui prend en charge les types spatiaux, contactez-nous et nous serons heureux de l’ajouter à cette liste.

Conditions préalables pour les types spatiaux avec Microsoft SQL Server

La prise en charge spatiale de SQL Server dépend des types sqlGeography et SqlGeometry spécifiquesau serveur de bas niveau SQL. Ces types résident dans l’assembly Microsoft.SqlServer.Types.dll, et cet assembly n’est pas fourni dans le cadre d’EF ou dans le cadre de .NET Framework.

Lorsque Visual Studio est installé, il installe souvent également une version de SQL Server, ce qui inclut l’installation de Microsoft.SqlServer.Types.dll.

Si SQL Server n’est pas installé sur l’ordinateur sur lequel vous souhaitez utiliser des types spatiaux ou si les types spatiaux ont été exclus de l’installation de SQL Server, vous devez les installer manuellement. Les types peuvent être installés à l’aide SQLSysClrTypes.msi, qui fait partie de Microsoft SQL Server Feature Pack. Les types spatiaux sont spécifiques à la version de SQL Server. Nous vous recommandons de rechercher « SQL Server Feature Pack » dans le Centre de téléchargement Microsoft, puis de sélectionner et de télécharger l’option correspondant à la version de SQL Server que vous utiliserez.