Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

NHibernate.Spatial und Sql 2008 Geography-Typ – Konfiguration

Ich bin im selben Boot und dank Ihres Starts habe ich es zum Laufen gebracht (Einfügen und Lesen von räumlichen Daten). Für alle anderen Interessierten ist zunächst die GisSharpBlog.NetTopologySuite.Geometries.Point-Klasse in NetTopologySuite.dll enthalten, die Teil des nHibernate.Spatial-Downloads ist.

Zweitens stellen Sie gemäß James Point sicher, dass Sie die SRID auf 4326 setzen.

Und schließlich muss die Karte so aussehen:

Map(a => a.Location).CustomType(typeof(NHibernate.Spatial.Type.GeometryType));

Ich verwende Geographie, aber ich habe irgendwo gelesen, dass die Verwendung von GeometryType funktionieren kann und für mich funktioniert (ich habe einige Punkte eingefügt und in der Datenbank überprüft). Ich habe auch gelesen, dass es am besten ist, SQL-Abfragen für Geographie zu schreiben, damit Sie die speziellen Spatial-Methoden von SQL 2008 verwenden können (im Gegensatz zur Verwendung von Kriterien).