我正在尝试在 sql 2012 中使用 Geometry 数据类型创建和存储线,因为我从未使用过这种数据类型我想知道如何在 C# 中操作数据,然后我找到了 System.Spatial。
但是我找不到任何示例(可能我仍在搜索),很高兴知道是否有人对此主题有知识或有任何有用的链接可以与示例或演示共享。
我正在尝试在 sql 2012 中使用 Geometry 数据类型创建和存储线,因为我从未使用过这种数据类型我想知道如何在 C# 中操作数据,然后我找到了 System.Spatial。
但是我找不到任何示例(可能我仍在搜索),很高兴知道是否有人对此主题有知识或有任何有用的链接可以与示例或演示共享。
System.Spatial
与实体框架不兼容。创建它是为了通过 WCF 数据服务支持 OData 上的空间类型。更多在这里。
因此,您需要使用的是DbGeometry
类。
问题是您使用的是 Entity Framework 5 和 C# 4.0。您需要使用 Entity Framework 6 或 C# 4.5,因为您当前的“混合”不支持空间数据。
有效配置:
之后,您可以像这样创建一个行字符串:
var line = DbGeometry.FromText("LINESTRING (30 10, 10 30, 40 40)");
文本使用WKT表示法。