猿教程 Logo

Entity Framework支持的空间数据类型

MS SQL Server 2008引入了两种空间数据类型,即地理和几何。 地理表示圆地球坐标系中的数据,几何表示欧几里德(平面)坐标系中的数据。

Entity Framework自版本5.0起支持空间数据类型DbGeography和DbGeometry。 让我们看看我们如何使用这些数据类型。

为了演示的目的,我们已经将课程表的位置列的数据类型更改为SQL Server 2008中的地理位置,如下所示:


现在,如上一章节所示,在数据库中具有地理列之后创建实体数据模型(.edmx)。 创建EDM后,您可以看到Course实体的Location属性的类型为System.Data.Spatial.DBGeography,如下所示:

public partial class Course
{
    public Course()
    {
        this.Students = new HashSet<Student>();
    }
    
    public int CourseId { get; set; }
    public string CourseName { get; set; }
    public Nullable<int> TeacherId { get; set; }
    public System.Data.Spatial.DbGeography Location { get; set; }
    
    public virtual Teacher Teacher { get; set; }
    public virtual ICollection<Student> Students { get; set; }
}

现在,您可以使用DBContext在CRUD操作中使用Location属性,如以下示例所示。

using (var ctx = new SchoolDBEntities())
{
    ctx.Courses.Add(new Course() { CourseName = "New Course", 
                Location = DbGeography.FromText("POINT(-122.360 47.656)") });
    ctx.SaveChanges();
}

有关MS SQL Server 2008的地理数据类型几何数据类型的详细信息,请访问MSDN。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/entity/spatial-datatype-in-entity-framework5.html