【问题标题】:How to read / write geography data using C#, Entity Framework and SQL Server 2008?如何使用 C#、Entity Framework 和 SQL Server 2008 读取/写入地理数据?
【发布时间】:2012-05-26 05:14:39
【问题描述】:

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

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

提前致谢!

【问题讨论】:

标签: c# sql-server-2008 entity-framework gis geography


【解决方案1】:

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

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

【讨论】:

  • 很棒的文章。感谢您推荐这个。
  • 所以,我看到的问题是我让我的 POCOS 尽可能干净,尽可能忽略对实体框架和持久性存储的所有引用/依赖项,然后有一个集合或存储库类了解持久性存储。我还使用流畅的配置远离 DataAnnotation 属性。一旦您放置 DbGeography,您就需要“使用 System.Data.Entity”,它打破了与持久性无关的方法,至少对于“普通”旧 C# 对象而言。
  • .NET 没有原生空间类型,那么您还能如何处理呢?您显然可以通过不使用 EF 空间类型但 byte[] 用于实体中的空间属性来破解一点,但是您仍然需要以某种方式将其转换为 byte[] 以使其可用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-12
  • 2017-05-31
  • 2011-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多