如何使用C#、实体框架和SQL Server 2008读/写地理数据?

如何使用C#、实体框架和SQL Server 2008读/写地理数据?,c#,sql-server-2008,entity-framework,gis,geography,C#,Sql Server 2008,Entity Framework,Gis,Geography,我有一个表单,用户可以从中输入地图上某一点的纬度和经度。数据将作为字符串值输入。我做了一些研究,从各种来源发现实体框架不支持地理数据类型 如何解析和/或将字符串数据保存到数据库中的地理列 存储后如何访问它并将其重新分析为字符串 提前谢谢 事实上,.NET Framework 4.5附带的Entity Framework 5组件确实支持空间类型。看看这个 编辑使用EF6,您可以在.NET Framework 4和.NET Framework 4.5上使用空间类型很棒的文章。感谢您的推荐。因此,

我有一个表单,用户可以从中输入地图上某一点的纬度和经度。数据将作为字符串值输入。我做了一些研究,从各种来源发现实体框架不支持地理数据类型

  • 如何解析和/或将字符串数据保存到数据库中的地理列
  • 存储后如何访问它并将其重新分析为字符串

提前谢谢

事实上,.NET Framework 4.5附带的Entity Framework 5组件确实支持空间类型。看看这个


编辑使用EF6,您可以在.NET Framework 4和.NET Framework 4.5上使用空间类型

很棒的文章。感谢您的推荐。因此,我看到的问题是,我尽可能保持我的POCO干净,尽可能省去对实体框架和持久性存储库的所有引用/依赖,然后创建一个了解持久性存储库的集合或存储库类。我还使用fluent配置远离DataAnnotation属性。一旦你把DbGeography放进去,你就需要“使用System.Data.Entity”,这打破了持久性不可知的方法,至少对于“普通”的旧C#Object..NET没有本机的空间类型,那么你会怎么做呢?显然,您可以通过在实体中不使用EF spatial types而使用
byte[]
来对空间属性进行一些修改,但是您仍然需要以某种方式将其转换为byte[]并使其可用。请参阅此链接。