How to access spatial data by using Entity Framework

Article ID: 2555356
Expand all | Collapse all

On This Page

INTRODUCTION

This article describes an All-In-One framework sample that is available for download. This code sample demonstrates a step-by-step guide that illustrates how to access spatial data by using Entity Framework.

This code sample is part of the AzureBingMaps application sample that demonstrates a lot of technologies which include how to access spatial data by using Entity Framework.

Notes

Difficulty level

Collapse this imageExpand this image
codefx Medium

Download information

To download this code sample, click one of the following links:

    

Technical overview

The simplest solution to access a database from a .NET Framework-based application is using Entity Framework. However, Entity Framework doesn't support spatial data in SQL Azure or in SQL Server currently, it supports relational data only. 
To access spatial data, a common approach is that convert the geography type to the varbinary (max) type. Because SQL Azure stores geography data as binary format and Entity Framework supports binary data type, you can run the following code to create an object model that maps the binary CLR type to the geography SQL type:
CREATEVIEW [dbo].[TravelView]
AS
SELECT PartitionKey,RowKey,Place,CAST(GeoLocation ASvarbinary(MAX))AS GeoLocation, Time
FROM dbo.Travel
After you run this code, you can generate an Entity Framework model.

Notes
  • Because a view is read only, when you access spatial data, we recommend that you handle the Insert, Update and Delete operations by running stored procedures.
  • For more information about how to work with spatial data, visit the following MSDN blog. The blog includes information about how to add custom properties to Entity Framework model, how to override SaveChanges, and how to implement retry logic when accessing SQL Azure data:
    How to work with spatial data

Technology category

SQL Server, SQL Azure

Languages

This code sample is available in the following programming languages:
Collapse this tableExpand this table
LanguageProject Name
Visual C#CSAzureBingMaps
Visual Basic.NETVAzureBingMaps

Prerequisites

To run this code sample, you must install the following products:
  • Microsoft SQL Server
  • Microsoft SQL Azure
  • Microsoft .NET Framework 4

Tags

Entity Framework

References

For more information about how to accessing spatial data by using Entity Framework, visit the following MSDN blog: 
How to accessing spatial data by using Entity Framework

MORE INFORMATION

What is All-In-One Code Framework?

All-In-One Code Framework shows most Microsoft development techniques by using code samples in different programming languages. Each example is carefully selected, composed, and documented to show one common code scenario. For more information about All-In-One Code Framework, visit the following Microsoft website:
http://1code.codeplex.com

How to find more All-In-One Code Framework samples

To find more All-In-One Code Framework samples, search for "kbcodefx" together with related keywords on the Microsoft support Web site. Or, visit the following Microsoft website:
All-In-One Code Framework samples
Rapid publishing disclaimer
Microsoft corporation and/or its respective suppliers make no representations about the suitability, reliability, or accuracy of the information and related graphics contained herein. All such information and related graphics are provided "as is" without warranty of any kind. Microsoft and/or its respective suppliers hereby disclaim all warranties and conditions with regard to this information and related graphics, including all implied warranties and conditions of merchantability, fitness for a particular purpose, workmanlike effort, title and non-infringement. You specifically agree that in no event shall Microsoft and/or its suppliers be liable for any direct, indirect, punitive, incidental, special, consequential damages or any damages whatsoever including, without limitation, damages for loss of use, data or profits, arising out of or in any way connected with the use of or inability to use the information and related graphics contained herein, whether based on contract, tort, negligence, strict liability or otherwise, even if Microsoft or any of its suppliers has been advised of the possibility of damages.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properties

Article ID: 2555356 - Last Review: June 9, 2011 - Revision: 1.0
Keywords: 
kbcodefx kbinfo kbnomt kbsurveynew kbrapidpub atdownload KB2555356

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com