2012-05-18 5 views
12

У меня есть форма, с которой пользователь сможет ввести широту и долготу определенной точки на карте. Данные будут введены как строковые значения. Я провел некоторое исследование и узнал из разных источников, что Entity Framework не поддерживает типы географических данных.Как читать/записывать географические данные с помощью C#, Entity Framework и SQL Server 2008?

  • Как я могу проанализировать и/или сохранить строковые данные в столбце географии в базе данных?
  • Как я могу получить к нему доступ и повторить его как строку после ее сохранения?

Заранее благодарен!

+0

См этой ссылке. http://stackoverflow.com/questions/23292268/what-is-c-sharp-equivalent-of-geography-sql-server-datatype-in-net-framework-4 –

ответ

18

На самом деле компоненты Entity Framework 5, поставляемые с .NET Framework 4.5, поддерживают пространственные типы. Посмотрите на это walkthrough.

EDIT С EF6 вы можете использовать пространственные типы как на .NET Framework 4 и .NET Framework 4.5

+0

Отличная статья. Спасибо за рекомендацию. –

+1

Итак, проблема, которую я вижу, заключается в том, что я сохраняю свой POCOS как можно более чистым, оставляя все ссылки/зависимости для структуры сущностей и хранилища персистентных возможностей, а затем располагаю классы набора или репозитория, которые знают о хранилище персистентности. Я также избегаю атрибутов DataAnnotation, используя свободную конфигурацию. Как только вы установите DbGeography, вам нужно использовать «System.Data.Entity», который разбивает агностический подход настойчивость, по крайней мере, для «Обычного» старого объекта C#. –

+0

.NET не имеет родного пространственного типа, так как еще вы об этом думаете? Вы, очевидно, могли бы немного взломать, не используя пространственные типы EF, а 'byte []' для пространственных свойств в своих сущностях, но тогда вам все равно нужно каким-то образом перевести его в байт [] и из него, чтобы сделать его пригодным для использования. – Pawel

 Смежные вопросы

  • Нет связанных вопросов^_^