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.
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. The design of the 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="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.tblDepartments
orderby 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.
Step 7. The selected data output of the application looks like this.