LINQ转ADO.Net

LINQ to ADO.Net意味着对ADO.Net中的对象使用LINQ查询。 LINQ to ADO.Net使我们有机会在ADO.Net中的Enumerable对象上编写LINQ查询, 而LINQ to ADO.Net具有三种可用的LINQ技术。这些是LINQ到数据集, LINQ到SQL和LINQ到实体。
LINQ到ADO.Net的语法
这是LINQ to ADO.Net对象的语法。

var result = from dt in ds.Tables[0].AsEnumerable()where (dt.Field< string> ("Gender") == "Male")select new{Name = dt.Field< string> ("empname"), Location = dt.Field< string> ("location"), Gender = dt.Field< string> ("gender"), };

在以上语法中, 我们在ADO.NET数据集对象” ds” 上编写了LINQ查询, 以获取所需的数据。
LINQ to ADO.NET示例 在这里, 我们将以示例为例, 说明如何使用LINQ to ADO.NET, 我们将创建一个新的Web应用程序并与SQL SERVER建立连接, 并使用LINQ在ADO.NET对象(数据集)上写查询以显示数据在网格视图中。
在这里, 首先, 我们将在数据库中创建一个新表” EmployeeDetails” , 以便在数据库中执行以下查询, 并插入一些虚拟数据以在应用程序中显示它。
现在, 我们将为该文件创建一个新的Web应用程序, 方法如下:转到” 文件” -> ” 选择新建” -> ” 选择项目” 。
LINQ转ADO.Net

文章图片
选择新项目后, 将打开一个弹出窗口, 我们必须选择asp.net空的Web应用程序, 并将名称命名为LINQ至ADO.NET, 然后单击” 确定” 以创建一个新的Web应用程序。
现在, 我们将网页添加到该应用程序中, 我们需要在该应用程序上单击鼠标右键-> 选择添加-> 选择Web表单-> 将名称命名为” Default.aspx” , 然后单击确定按钮, 它将创建一个应用程序中的新页面。
现在打开” Default.aspx” 页面, 并编写如下所示的代码。
< %@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> < !DOCTYPE html> < html xmlns="http://www.w3.org/1999/xhtml"> < head runat="server"> < title> < /title> < /head> < body> < form id="form1" runat="server"> < div> < asp:GridView ID="gvDetails" CssClass="Gridview" runat="server" AutoGenerateColumns="False"> < HeaderStyle CssClass="headerstyle" /> < Columns> < asp:BoundField HeaderText="Name" DataField="Name" /> < asp:BoundField HeaderText="Location" DataField="Location" /> < asp:BoundField HeaderText="Gender" DataField="Gender" /> < /Columns> < /asp:GridView> < /div> < /form> < /body> < /html>

现在打开文件后面的代码并编写代码, 如下所示:
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!Page.IsPostBack){BindGridview(); }}protected void BindGridview(){DataSet ds = new DataSet(); using (SqlConnection con = new SqlConnection("Data Source=srcmini\\SQLEXPRESS; Integrated Security=true; Initial Catalog=ADONET")){con.Open(); SqlCommand cmd = new SqlCommand("select * from employeedetails", con); cmd.CommandType = CommandType.Text; SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); con.Close(); if (ds.Tables[0].Rows.Count > 0){var result = from dt in ds.Tables[0].AsEnumerable()where (dt.Field< string> ("Gender") == "Male")select new{Name = dt.Field< string> ("EmpName"), Location = dt.Field< string> ("Location"), Gender = dt.Field< string> ("Gender"), }; gvDetails.DataSource = result; gvDetails.DataBind(); }}}}

在上面的示例中, 我们使用ADO.NET数据集对象, 并在数据集对象上编写LINQ查询, 以从Gender等于” Female” 的数据集中获取详细信息。现在, 我们将运行该应用程序并查看输出。
【LINQ转ADO.Net】输出
LINQ转ADO.Net

文章图片

    推荐阅读