Select Data Using Spatial Types Via EDF Framework 5.0

Introduction
 
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:

Table-in-SQL-Server.jpg

Step 2: Create a new web application:

New-Project-in-SQL-Server.jpg

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

Entity-framwork-in-SQL-Server.jpg

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="http://www.w3.org/1999/xhtml">

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

    <style type="text/css">

        .grid

        {

            margin-top: 50px;

        }

    </style>

    <title></title>

</head>

<body>

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

    <center>

        <div>

            <table>

                <tr>

                    <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>

                </tr>

                <tr>

                    <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>

                </tr>

                <tr>

                    <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" />

                        </asp:GridView>

                    </td>

                </tr>

                <tr>

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

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

                    </td>

                </tr>

            </table>

        </div>

    </center>

    </form>

</body>

</html>

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();

        #endregion

    }

}

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


Spatial-Types-via-EDF-Framework.jpg


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


Spatial-Types-Output-via-EDF-Framework.jpg


MVC Corporation
MVC Corporation is consulting and IT services based company.