InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Entity Framework引入空间数据类型

作者 Jenni Konrad 译者 郑柯 发布于 2011年10月8日

领域
语言 & 开发
主题
SQL Server 2008 ,
SQL Server ,
.NET ,
关系型数据库 ,
微软 ,
编程 ,
数据库 ,
LINQ

Entity Framework六月CTP版本中包括一个新特性:对空间数据类型的官方支持。自SQL Server 2008以及后续版本将空间数据类型支持包括进去之后,要使用类似数据,有时还是要采取变通方式。但这是实体数据模型(Entity Data Model,EDM)第一次提供基本支持。

使用空间数据类型,开发人员可以表示使用坐标系统的数据,比如形状、线条或是地图上的点。有两种不同空间数据类型可以使用:Geometry和Geography。Geometry描述扁平(比如欧几里得)平面上的位置,并可用来判定诸如多边形形状和面积之类的信息。Geography针对球面数据(比如计算地球的形状),并可以引用诸如GPS坐标类似的信息。Geometry和Geography都遵从Open Geospatial Consortium(OGC)规范

此前,在客户端,空间数据会使用SqlGeography和SqlGeometry类型表示。在Entity Framework中的类型是DbGeography和DbGeometry,最终目标是支持SQL Server之外的其他数据提供者。(目前,非SQL Server使用空间数据只限于基本服务,比如序列化和反序列化。)

对于空间数据类型,微软在Entity Framework中的其他目标包括

  • Entity Designer中对空间数据类型的第一级支持
  • 使用Entity SQL和LINQ的丰富编程体验
  • 支持编码优先(Code-first)、数据库优先(Database-first)和建模优先(Model-first)等多种方式。

想知道如何实际使用Entity Framework中的空间数据类型,请访问ADO.NET团队博客的概览,以及Jason Follas的真实世界范例

查看英文原文:InfoQ: Spatial Data Introduced to Entity Framework

译者 郑柯 InfoQ中文站总编。做过开发,当过PM,干过销售,搞过市场,最终还是回到媒体。实用的理想主义者,相信:每天改变一点点,这个世界会更好。