MS SQL Server 2008 introduced two spatial data types, geography
and geometry
. The geography
type represents data in a round-earth coordinate system and geometry
represent data in a Euclidean (flat) coordinate system.
Starting with version EF 5.0, it includes special data types in the
System.Data.Entity.Spatial
namespace: DbGeography
for geography
data type and DbGeometry
for geometry
data type in the SQL Server.
For demo purposes, we have used the
Location
column from the Course
table of geography
type in SQL Server database, as shown below:
Now, create or update an entity data model (.edmx) after adding the geography column in the database. After creating or updating the EDM, you can see that the
Location
property of the Course
entity is System.Data.Spatial.DBGeography
, as shown below: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; } }
You can now use the Location property while adding or updating an entity, as shown below.
using (var ctx = new SchoolDBEntities()) { ctx.Courses.Add(new Course() { CourseName = "New Course", Location = DbGeography.FromText("POINT(-122.360 47.656)") }); ctx.SaveChanges(); }
Visit MSDN for more information on geography data type and geometry data type in MS SQL Server.
0 comments:
Post a Comment
Note: only a member of this blog may post a comment.