Entity Framework引入空间数据类型

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

你可能感兴趣的:(Entity Framework引入空间数据类型)