2012-05-18 8 views
12

Ich habe ein Formular, aus dem der Benutzer die Breite und Länge eines bestimmten Punktes auf der Karte eingeben kann. Die Daten werden als String-Werte eingegeben. Ich habe einige Nachforschungen angestellt und herausgefunden, dass das Entity Framework geografische Datentypen nicht unterstützt.Wie können geographische Daten mit C#, Entity Framework und SQL Server 2008 gelesen/geschrieben werden?

  • Wie kann ich die Zeichenfolgedaten in einer geografischen Spalte in einer Datenbank analysieren und/oder speichern?
  • Wie kann ich darauf zugreifen und es als Zeichenfolge analysieren, sobald es gespeichert ist?

Vielen Dank im Voraus!

+0

4.5 auf diesen Link finden Sie verwenden. http://StackOverflow.com/Questions/23292268/what-is-c-sharp-equivalent-of-Geography-SQL-Server-Datatype-in-Net-Framework-4 –

Antwort

18

Tatsächlich unterstützen Entity Framework 5-Komponenten, die mit .NET Framework 4.5 geliefert werden, räumliche Typen. Werfen Sie einen Blick auf diese walkthrough.

EDIT Mit EF6 können Sie räumliche Datentypen sowohl .NET Framework 4 und .NET Framework

+0

Great article. Danke für die Empfehlung. –

+1

Also, das Problem, das ich sehe, ist, dass ich mein POCOS so sauber wie möglich halte, alle Referenzen/Abhängigkeiten zu Entitätsrahmen und dem Persistenzspeicher so weit wie möglich auslassend, dann eine Menge oder Repository-Klassen habe, die über den Persistenzspeicher wissen. Ich bleibe auch von DataAnnotation-Attributen mit fließender Konfiguration fern. Sobald Sie DbGeography setzen, müssen Sie "using System.Data.Entity" verwenden, was den Persistenz-agnostischen Ansatz zumindest für das "Plain" Old C# -Objekt durchbricht. –

+0

.NET hat keinen nativen räumlichen Typ, also, wie sonst würden Sie darüber gehen? Sie könnten natürlich ein wenig hacken, indem Sie keine EF-Spatial-Typen verwenden, sondern "byte []" für räumliche Eigenschaften in Ihren Entitäten, aber dann müssten Sie es trotzdem irgendwie in und aus dem Byte [] übersetzen, um es nutzbar zu machen. – Pawel

Verwandte Themen