A simple LINQ query requires three things:
- Entity Class
- Data Context
- Linq Query
Download northwind database from the following link.
http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46a0-8da2-eebc53a68034&displaylang=en
Step 2
Attach a northwind database into MS-SQL server
Step 3
Create a Web application and give solution name as SolLinqToSql.
Step 4
In this example we have to bind employee data from northwind database into a gridview. add a gridview on page it is look like this
<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:GridView ID="GvEmployee" runat="server" AllowPaging="True" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" EnableModelValidation="True" ForeColor="Black" GridLines="Vertical" PageSize="5" onpageindexchanging="GvEmployee_PageIndexChanging"> <AlternatingRowStyle BackColor="#CCCCCC" /> <FooterStyle BackColor="#CCCCCC" /> <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" /> </asp:GridView> </ContentTemplate> </asp:UpdatePanel>
Step 5
Add a connectionstring on web.config file,it is look like this
<connectionStrings> <add name="ConStr" connectionString="Data Source=shree\shree;Initial Catalog=Northwind;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
Step 6
Add app_code folder in the solution and add a new folder inside the app_code folder and give folder name as ORD,it is look like this
Click on image for better view
Step 7
Add a Linq to Sql class,Select the ORD folder,right click on Add new Item,select LINQ to SQL classes from installed Visual Studio templates and name it NorthwindDC and click on add button,it is look like this
Click on image for better view
Step 8
Open a O/R Designer by double click on NorthwindDC.dbml,it is look like this
Click on image for better view
Click on image for better view
Visual stdio provides an object-relational mapping designer,called the O/R Designer which allows you to visually design the object to database mapping.
Step 9
Create a Employee object.
in this example we have to work with employees table from the northwind database,create a employee object that will use LINQ to SQL to map to this table.go to the server explorer,select northwind database,go to the tables and select Employees table,it is look like this
Click on image for better view
Drag and drop Employee table from Server explorer onto the design surface of the O/R Designer,it is look like this
Click on image for better view
Step 10
Create a Employee static class in app_code folder for retriving an employee data from database,it is look like this
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Collections; public static class Employee { #region Methods /// <summary> /// Get the Employee data from northwind database /// </summary> /// <returns>IList</returns> public static IList GetEmployeeData() { try { // Create a object of DataContext and specify the connectionstring in datacontext constructor // The NorthwindDCDataContext object is an object of type of DataContext // This object works with the connectionstring and connect to the database for any required operation ORD.NorthwindDCDataContext DC = new ORD.NorthwindDCDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString); // Create a select Linq Query var Query = from Q in DC.Employees select new { FirstName=Q.FirstName, LastName=Q.LastName, Title=Q.Title, City=Q.City, Country=Q.Country }; return Query.ToList(); // return the linq query } catch (Exception ex) { throw new Exception(ex.Message); } } #endregion }
Step 11
Bind the employee data in gridview.it is look like this
protected void Page_Load(object sender, EventArgs e) { try { if (IsPostBack == false) { BindGridView(); } } catch (Exception) { } } #region Methods /// <summary> /// Bind the Employee data in GridView /// </summary> private void BindGridView() { try { IList ILEmployeeData = Employee.GetEmployeeData(); if (ILEmployeeData != null) { if (ILEmployeeData.Count > 0) { GvEmployee.DataSource = ILEmployeeData; GvEmployee.DataBind(); } } } catch (Exception ex) { throw new Exception(ex.Message); } } #endregion
Run the project
Full Code
1. .aspx code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:GridView ID="GvEmployee" runat="server" AllowPaging="True" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" EnableModelValidation="True" ForeColor="Black" GridLines="Vertical" PageSize="5" onpageindexchanging="GvEmployee_PageIndexChanging"> <AlternatingRowStyle BackColor="#CCCCCC" /> <FooterStyle BackColor="#CCCCCC" /> <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" /> </asp:GridView> </ContentTemplate> </asp:UpdatePanel> </div> </form> </body> </html>
2. Code behind
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { try { if (IsPostBack == false) { BindGridView(); } } catch (Exception) { } } #region Methods /// <summary> /// Bind the Employee data in GridView /// </summary> private void BindGridView() { try { IList ILEmployeeData = Employee.GetEmployeeData(); if (ILEmployeeData != null) { if (ILEmployeeData.Count > 0) { GvEmployee.DataSource = ILEmployeeData; GvEmployee.DataBind(); } } } catch (Exception ex) { throw new Exception(ex.Message); } } #endregion protected void GvEmployee_PageIndexChanging(object sender, GridViewPageEventArgs e) { try { GvEmployee.PageIndex = e.NewPageIndex; BindGridView(); } catch (Exception) { } } }
Download
Download Source Code
I am really happy with your blog because your article is very unique and powerful for new.
ReplyDeletePoint cloud to 3D Model Reading
Scan to BIM in Epsom
3d Laser Scanning Services in Massachusetts
Plant Engineering Services in California