Frage

Ich bin mit SQL Express 2008 und VS2008, in c # zu schreiben.

Ich habe eine DB-Tabelle mit einer Geographie Säule darin, in die ich brauche GPS-Daten habe ich gesammelt. Als ich versuchte, für diese Tabelle ein Entity-Framework-Mapping erstellen, ignorierte einfach die Spalte mit einiger Warnung über nicht solche Spaltentypen zuordnen zu können. Ich sah dann nHibernate.Spatial Projekt, aber es scheint, wie es nur die Geometrietypen übersetzt, nicht die Geografie. Kein Glück gibt. Ich habe gesagt, ich eine Ansicht mit Gießen der Geographie zu VarBinary verwenden kann, und dann in der erstellten Objektklasse fügen Sie eine weitere Eigenschaft, die die binären zurück in Geographie deserialisiert. Ich denke, dass Arbeit die Daten aus der DB zum Lesen, aber ich brauche auch die Zeilen in meine db einfügen, und ich kann nicht Zeilen zur Ansicht. Gibt es einen anderen Trick, den ich um leicht verwenden können, um Geografie Daten von meinem db, in meinem c # -Code?

Lesen und Schreiben
War es hilfreich?

Lösung

Ich weiß nicht viel über EF, aber NHibernate ermöglicht es Ihnen, es ist Gerüsttyp mit IUserType zu erweitern. Es ist ein bisschen darüber auf Ray Houston Blog .

Ich habe dies erfolgreich verwendet, um eine Art zu schaffen für das XmlSerialization in ein XML-Feld verwendet, basierend auf Ayende dem Beispiel

Andere Tipps

Zu diesem Zeitpunkt Entity Framework v1 nicht SQL UDT unterstützt -. 2008 Spacial Typ UDT

Sie können Ihre long / lat Daten speichern WKB mit (byte [] / varbinary).

Als Randbemerkung ich habe nicht bemerkt, keine Unterstützung für UDT während der Microsoft MIX09 für die nächste Version (1.5 CTP). Vielleicht habe ich etwas verpasst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top