Reader Level:

Select Data Using Spatial Types Via EDF Framework 5.0

By Vijay Prativadi on Dec 16, 2012
Today, in this article let’s play around with one of the interesting and most useful concepts in Entity Data Model Framework 5.0.

Today, in this article let's play around with one of the interesting and most useful concepts in Entity Data Model Framework 5.0.

Question: What is select data using enums via EDM Framework 5.0?
In simple terms "It provides flexibility to pull data from using spatial types using the Entity Framework 5.0".
Step 1: Design of tblDepartments looks like this:


Step 2: Create a new web application:


Step 3: Create a new data entity with Entity Framework 5.0:


Step 4: The complete code of WebForm1.aspx looks like this:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="SpatialTypeEFApp.WebForm1" %>

<!DOCTYPE html>

<html xmlns="">

<head id="Head1" runat="server">

    <style type="text/css">



            margin-top: 50px;






    <form id="form1" runat="server">





                    <td colspan="2" align="center">

                        <asp:Label ID="Label1" runat="server" Text="Select Data with Spatial Types via Entity Framework 5.0"

                            Font-Bold="true" Font-Size="Large" Font-Names="Verdana" ForeColor="Maroon"></asp:Label>




                    <td colspan="2" align="center">

                        <asp:Button ID="Button1" runat="server" Text="Select Data" Font-Names="Verdana" Width="213px"

                            BackColor="Orange" Font-Bold="True" OnClick="Button1_Click" />




                    <td colspan="2" align="center">

                        <asp:GridView ID="GridView1" runat="server" CssClass="grid" BackColor="LightGoldenrodYellow"

                            BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None">

                            <AlternatingRowStyle BackColor="PaleGoldenrod" />

                            <FooterStyle BackColor="Tan" />

                            <HeaderStyle BackColor="Tan" Font-Bold="True" />

                            <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />

                            <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />

                            <sortedascendingcellstyle backcolor="#FAFAE7" />

                            <sortedascendingheaderstyle backcolor="#DAC09E" />

                            <sorteddescendingcellstyle backcolor="#E1DB9C" />

                            <sorteddescendingheaderstyle backcolor="#C2A47B" />





                    <td colspan="2" align="center">

                        <asp:Label ID="Label3" runat="server" Font-Bold="true" Font-Size="Medium" Font-Names="Verdana"></asp:Label>









Step 5: The complete code of WebForm1.aspx.cs looks like this:

using System;

using System.Collections.Generic;

using System.Data.Spatial;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace SpatialTypeEFApp


    public partial class WebForm1 : System.Web.UI.Page


        protected void Page_Load(object sender, EventArgs e)



        protected void Button1_Click(object sender, EventArgs e)


            var query = (from r in objEntities.tblDepartmentsorderby r.Location.Distance(DbGeography.FromText("POINT(43 19)"))select new


                DeptId = r.DeptId, DepartmentName = r.Name

            }).ToList();GridView1.DataSource = query;GridView1.DataBind();

            Label3.ForeColor = System.Drawing.Color.Green;Label3.Text = "Data Successfully Retrieved";


        #region Instance

        MembersCompanyEntities objEntities = new CompanyEntities();




Step 6: The output of the application looks like this:


Step 7: The selected data output of the application looks like this: