Что делает Microsoft.SqlServer.Types и как это работает? - PullRequest
0 голосов
/ 05 января 2019

Мне говорят использовать Microsoft.SqlServer.Types для DbGeography в домашнем проекте, который у меня есть. Проект домашней работы с ASP.NET, и пытается использовать базу данных для поиска в базе данных. (База данных должна быть из файла .bak, но мне пришлось загрузить файл .bacpac в Azure, а затем снова подключиться к нему, поскольку файл .bak постоянно говорит, что он поврежден).

Это блок кода, который мне сказали поместить в файл Global.asax.cs:

protected void Application_Start()
{
    // For Spatial types, i.e. DbGeography
    SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
    // This next line is a fix that came from:       https://stackoverflow.com/questions/13174197/microsoft-sqlserver-types-version-10-or-higher-could-not-be-found-on-azure/40166192#40166192
    SqlProviderServices.SqlServerTypesAssemblyName = typeof (SqlGeography).Assembly.FullName;

    AreaRegistration.RegisterAllAreas();
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

Я посмотрел документацию , и проклятая вещь просто говорит:

Microsoft.SqlServer.Types

Позволяет использовать пространственные типы SQL Server на компьютере без установленного SQL Server. Позволяет использовать пространственные типы Entity Framework (DbGeography и DbGeometry).

Что Я думаю, просто означает, что этот пакет позволяет нам использовать выражение c для SQL, но я хотел бы получить более подробное объяснение. Понятия не имею, что DbGeography и DbGeometry делают.

Кроме того, я хотел бы знать, применимо ли это к базе данных на базе лазури, а не только к локальной базе данных, созданной из файла .bak.

1 Ответ

0 голосов
/ 05 января 2019

Понятия не имею, что делают DbGeography и DbGeometry.

Все просто. SQL Server имеет пространственные типы . .NET нет.

Microsoft.SqlServer.Types - это библиотека, которую вы можете добавить в свой проект .NET для работы с типами данных SQL Server geography и geometry в своем проекте .NET. Без этой библиотеки вы можете только читать и записывать пространственные типы SQL Server, преобразовав их в текст в формате WKT .

Для большинства других типов данных, поддерживаемых SQL Server, существует соответствующий тип .NET, который работает. Например, SQL Server имеет int .NET имеет System.Int32 и т. Д.

...