Поделиться через


Поддержка поставщиков пространственных типов

Entity Framework поддерживает работу с пространственными данными с помощью классов DbGeography или DbGeometry. Эти классы зависят от функциональных возможностей, предоставляемых поставщиком Entity Framework для конкретной базы данных. Не все поставщики поддерживают пространственные данные и те, которые могут иметь дополнительные предварительные требования, такие как установка сборок пространственного типа. Дополнительные сведения о поддержке поставщика пространственных типов приведены ниже.

Дополнительные сведения о том, как использовать пространственные типы в приложении, можно найти в двух пошаговых руководствах: один для code First, другой — для базы данных first или model First:

Выпуски EF, поддерживающие пространственные типы

Поддержка пространственных типов появилась в EF5. Однако в EF5 пространственные типы поддерживаются только в том случае, если приложение предназначено и работает в .NET 4.5.

Начиная с EF6 пространственные типы поддерживаются для приложений, предназначенных как для .NET 4, так и для .NET 4.5.

Поставщики EF, поддерживающие пространственные типы

EF5

Поставщики Entity Framework для EF5, которые мы знаем о поддержке пространственных типов:

  • Поставщик Microsoft SQL Server
    • Этот поставщик поставляется в рамках EF5.
    • Этот поставщик зависит от некоторых дополнительных низкоуровневых библиотек, которые могут потребоваться установить, см. ниже.
  • Точка Devart Подключение для Oracle
    • Это сторонний поставщик из Devart.

Если вы знаете о поставщике EF5, поддерживающем пространственные типы, обратитесь в контакт, и мы будем рады добавить его в этот список.

EF6

Поставщики Entity Framework для EF6, которые мы знаем о поддержке пространственных типов:

  • Поставщик Microsoft SQL Server
    • Этот поставщик поставляется в составе EF6.
    • Этот поставщик зависит от некоторых дополнительных низкоуровневых библиотек, которые могут потребоваться установить, см. ниже.
  • Точка Devart Подключение для Oracle
    • Это сторонний поставщик из 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, необходимо установить их вручную. Типы можно установить с помощью SQLSysClrTypes.msiпакета дополнительных компонентов Microsoft SQL Server. Пространственные типы зависят от версии SQL Server, поэтому мы рекомендуем выполнить поиск по запросу "Пакет дополнительных компонентов SQL Server" в Центре загрузки Майкрософт, а затем выбрать и скачать параметр, соответствующий используемой версии SQL Server.