Dapper Spatial Geografie Typ

c# dapper spatial sql-server

Frage

Ich koche einige räumliche Beispiele und habe beschlossen, Dapper eine Chance zu geben, obwohl EF räumliche Unterstützung hat, und ich liebe es, wieder Kontrolle über mein SQL zu haben (Danke Sam & Marc).

Ich muss jedoch in der Lage sein, POCO's zu haben, die die DbGeography- Klasse unterstützen. Beispielsweise :

public class BuriedTreasure {
   public int PirateId { get; set; }
   public DbGeography MarksTheSpot { get; set; }
}

Mein Google Foo hat mich im Stich gelassen und die nächste Übereinstimmung, die ich finden kann, ist diese Frage, obwohl sie nur darauf abzielt, räumliche Unterstützung als Parameter hinzuzufügen (also 50%).

Soweit ich sehen kann, beschränke ich mich auf die folgenden Optionen, die für mich keine praktikable Lösung darstellen.

  1. Passen Sie den Dapper-Code an, um einen SQL Server-spezifischen Typ zu verstehen
  2. Geben Sie LONG, LAT & ELEVATION-Dezimalstellen in meinem POCO an und erstellen Sie den SPATIAL-Typ in meiner gespeicherten Prozedur und lassen Sie eine andere Prozedur zum Abrufen der Werte (oder verwenden Sie eine permanente berechnete Spalte, aber das ist fast das Gleiche)

Alternativen?

Beliebte Antwort

Für jeden, der interessiert ist, ging ich für Option 2 in der Frage, die ich oben gepostet habe. Ich habe meine räumlichen Daten auf Dezimalzahlen abgebildet. Die gespeicherte Prozedur führt einige zusätzliche Prüfungen durch, so dass es einfach war, den Punkt darin zu konstruieren, dh das folgende Snippet:

Yarrrr = geography::Point(@Latitude, @Longitude, 4326)

Im Wesentlichen ist die DbGeography-Klasse unveränderlich, geht zu zeigen ... RTFM :)

Keine Änderungen an Dapper erforderlich!



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum