如何在c#4.5中使用System.Spatial创建GeometryLineString

时间:2013-10-10 13:01:58

标签: c# visual-studio-2012 entity-framework-5 .net-4.5 spatial

我正在努力创造&在sql 2012中存储了几何数据类型的行,因为我从未使用过这种数据类型我想知道如何在C#中操作数据,然后我找到了System.Spatial。

MSDN Link Here

但是我无法找到任何样本(可能还有我正在搜索的内容),如果有人知道这个主题或者有任何有用的链接与样本或演示分享,那将会很棒。

1 个答案:

答案 0 :(得分:1)

System.Spatial与Entity Framework不兼容。它的创建是为了通过WCF数据服务支持OData上的空间类型。更多here

因此,您需要使用的是DbGeometry类。

问题在于您使用的是Entity Framework 5和C#4.0。您需要使用Entity Framework 6或C#4.5,因为您当前的“混合”不支持空间数据。

有效配置:

  • 使用C#4.5的实体框架5
  • 实体框架6与C#4 / 4.5

之后,您可以创建如下的行字符串:

var line = DbGeometry.FromText("LINESTRING (30 10, 10 30, 40 40)");

该文字使用WKT表示法。