dotMorten.Microsoft.SqlServer.Types
2.5.0
dotnet add package dotMorten.Microsoft.SqlServer.Types --version 2.5.0
NuGet\Install-Package dotMorten.Microsoft.SqlServer.Types -Version 2.5.0
<PackageReference Include="dotMorten.Microsoft.SqlServer.Types" Version="2.5.0" />
paket add dotMorten.Microsoft.SqlServer.Types --version 2.5.0
#r "nuget: dotMorten.Microsoft.SqlServer.Types, 2.5.0"
// Install dotMorten.Microsoft.SqlServer.Types as a Cake Addin #addin nuget:?package=dotMorten.Microsoft.SqlServer.Types&version=2.5.0 // Install dotMorten.Microsoft.SqlServer.Types as a Cake Tool #tool nuget:?package=dotMorten.Microsoft.SqlServer.Types&version=2.5.0
Microsoft.SqlServer.Types
a .NET Standard implementation of the spatial types in Microsoft.SqlServer.Types
.
Difference between v1.x and v2.x
The v1.x and v2.x versions are identical and kept in sync. The only difference is the dependency:
- v1.x : Depends on the legacy
System.Data.SqlClient
package. - v2.x : Depends on updated
Microsoft.Data.SqlClient
package.
Examples
Input parameter
Assigning SqlGeometry or SqlGeography to a command parameter:
command.Parameters.AddWithValue("@GeographyColumn", mySqlGeography);
command.Parameters["@GeometryColumn"].UdtTypeName = "Geography";
command.Parameters.AddWithValue("@GeographyColumn", mySqlGeometry);
command.Parameters["@GeometryColumn"].UdtTypeName = "Geometry"
The geometry will automatically be correctly serialized.
Reading geometry and geography
Use the common methods for getting fields of specific types:
var geom1 = reader.GetValue(geomColumn) as SqlGeometry;
var geom2 = reader.GetFieldValue<SqlGeometry>(geomColumn);
var geom3 = SqlGeometry.Deserialize(reader.GetSqlBytes(geomColumn)); //Avoids any potential assembly-redirect issue. See https://docs.microsoft.com/en-us/sql/sql-server/install/warning-about-client-side-usage-of-geometry-geography-and-hierarchyid?view=sql-server-2014#corrective-action
Notes:
The spatial operations like intersection, area etc are not included here. You can perform these as part of your query instead and get them returned in a column.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Data.SqlClient (>= 4.0.0)
- System.Memory (>= 4.5.4)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on dotMorten.Microsoft.SqlServer.Types:
Package | Downloads |
---|---|
EntityFrameworkCore.SqlServer.HierarchyId.Abstractions
Common abstractions for using hierarchyid with EF Core |
|
BulkInsert.Cascade.Ef6
Simple library for cascade bulk-insert using Entity Framework supporting MS SQL Features: - Bulk-insert EF entities, info about entities is retrieved from EF - retrieve Id from DB for identity PK using Hi/Lo algorithm - propagation id to foreign key columns - cascade bulk-insert with unlimited depth |
|
GeoFlux.SqlConnectionWithHierarchyId
Add SqlHierarchyId support to SqlConnection |
|
HouseofCat.Data
RabbitMQ.Dataflows library helps use RabbitMQ as well as create powerful RabbitMQ powered workflows. |
|
TableSync
A component to synchronize data between Microsoft SQL Server and Excel files in OpenXML format (xlsx). |
GitHub repositories
This package is not used by any popular GitHub repositories.
Added SqlGeography.AsTextZM(). Greatly improved WKT text and writing and closer match behavior of SQL Server.