对空间类型的提供程序支持

Entity Framework 支持使用 DbGeography 或 DbGeometry 类处理空间数据。 这些类依赖于 Entity Framework 提供程序提供的特定于数据库的功能。 并非所有提供程序都支持空间数据和可能要求额外先决条件的进程,例如空间类型程序集的安装。 以下提供了有关对空间类型的提供程序支持的更多信息。

关于如何在应用程序中使用空间类型的更多信息,可以查阅两个演练,一个是 Code First 演练,另一个是 Database First 或 Model First 演练:

支持空间类型的 EF 版本

EF5 中引入了对空间类型的支持。 但在 EF5 中,仅当应用程序面向 .NET 4.5 并在其中运行时才支持空间类型。

从 EF6 开始,面向 .NET 4 和 .NET 4.5 的应用程序支持空间类型。

支持空间类型的 EF 提供程序

EF5

支持空间类型的 EF5 的 Entity Framework 提供程序如下:

  • Microsoft SQL Server 提供程序
    • 此提供程序作为 EF5 的一部分提供。
    • 此提供程序依赖于一些可能需要安装的其他低级库,请参阅下文了解详细信息。
  • 用于 Oracle 的 Devart dotConnect
    • 这是来自 Devart 的第三方提供程序。

如果知道有支持空间类型的 EF5 提供程序,请与我们联系,我们很乐意将其添加到此列表。

EF6

支持空间类型的 EF6 的 Entity Framework 提供程序如下:

  • Microsoft SQL Server 提供程序
    • 此提供程序作为 EF6 的一部分提供。
    • 此提供程序依赖于一些可能需要安装的其他低级库,请参阅下文了解详细信息。
  • 用于 Oracle 的 Devart dotConnect
    • 这是来自 Devart 的第三方提供程序。

如果知道有支持空间类型的 EF6 提供程序,请与我们联系,我们很乐意将其添加到此列表。

Microsoft SQL Server 空间类型的先决条件

SQL Server 空间支持取决于特定于 SQL Server 的低级别类型 SqlGeography 和 SqlGeometry。 这些类型属于 Microsoft.SqlServer.Types.dll 程序集,并且此程序集不作为 EF 的一部分或 .NET Framework 的一部分提供。

安装 Visual Studio 时,通常还会安装 SQL Server 的某一个版本,期间会安装 Microsoft.SqlServer.Types.dll。

如果要使用空间类型的计算机上未安装 SQL Server,或者安装 SQL Server 时排除了空间类型,则需要手动安装空间类型。 可以使用 Microsoft SQL Server Feature Pack 中的 SQLSysClrTypes.msi 安装这些类型。 空间类型特定于 SQL Server 版本,因此建议在 Microsoft 下载中心搜索“SQL Server 功能包”,然后选择要使用的 SQL Server 版本所对应的选项并下载该版本。