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.
NotesDifficulty level
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:After you run this code, you can generate an Entity Framework model.
Notes
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
- For more information about how to access spatial data by using ADO.NET Entity Framework, visit the following MSDN blog:
- For more information about the AzureBingMaps application, visit the following MSDN website:
Difficulty level

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
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:
Technology category
SQL Server, SQL AzureLanguages
This code sample is available in the following programming languages:Language | Project Name |
---|---|
Visual C# | CSAzureBingMaps |
Visual Basic.NET | VAzureBingMaps |
Prerequisites
To run this code sample, you must install the following products:- Microsoft SQL Server
- Microsoft SQL Azure
- Microsoft .NET Framework 4