首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在asp.net vnext和EF 7中使用空间数据类型?

如何在asp.net vnext和EF 7中使用空间数据类型?
EN

Stack Overflow用户
提问于 2014-11-19 03:48:57
回答 3查看 3.4K关注 0票数 11

vnext中,使用实体框架7 (https://github.com/aspnet/EntityFramework)在为表创建模型时如何使用模型中的空间数据类型(例如DbGeography)来保存点、形状等。

例如:

代码语言:javascript
复制
public DbGeography gps_points {get; set;}

我不能使用DbGeography

更新:

确认后,EF7中还没有此功能,但可能在以后的版本中可用。

要跟踪任何更改,请参见:

https://github.com/aspnet/EntityFramework/issues/242

https://github.com/aspnet/EntityFramework/issues/1100

EN

回答 3

Stack Overflow用户

发布于 2014-11-27 08:20:33

参考实体框架的github存储库中的你自己的问题,似乎还没有实现。由于里程碑设定为“待办事项”,这个问题似乎不会在不久的将来得到解决。

如果不需要在数据库端(例如,在边界框或交叉口中搜索)处理数据,则可以将数据保存为众所周知的文本。如果将来EF7支持空间数据,这可以很容易地转换成数据库几何类型。

请注意数据库的字符串长度限制,因为对于复杂的形状,WKT可以保持安静。

票数 2
EN

Stack Overflow用户

发布于 2014-11-25 11:07:35

您需要添加对System.Data.Entity.Spatial的引用。我不认为它现在默认包含在EF引用下,因此您不能使用DbGeography。

记住,一切都是即插即用的!

票数 0
EN

Stack Overflow用户

发布于 2014-11-27 08:56:12

在EF5中引入了对空间类型的支持。但是,在EF5中,仅当应用程序目标并在.NET 4.5上运行时才支持空间类型。

从EF6开始,针对.NET 4和.NET 4.5的应用程序支持空间类型。

Microsoft提供程序依赖于可能需要安装的其他一些低级别库。

使用Microsoft 实现空间类型的先决条件

Server空间支持依赖于特定于Server的低级类型SqlGeographySqlGeometry.这些类型位于Microsoft.SqlServer.Types.dll程序集中,此程序集不作为EF的一部分或.NET框架的一部分提供。

安装Visual时,它通常还会安装Server版本,这将包括安装Microsoft.SqlServer.Types.dll

如果要在要使用空间类型的计算机上安装Server,或者如果空间类型被排除在Server安装之外,则需要手动安装它们。这些类型包含在Server功能包中,Server 2008和Server 2012存在不同的程序集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27008634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档