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应用程序, 方法如下:转到”文件”->”选择新建”->”选择项目”。
选择新项目后, 将打开一个弹出窗口, 我们必须选择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”的数据集中获取详细信息。现在, 我们将运行该应用程序并查看输出。
输出
评论前必须登录!
注册