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” 的数据集中获取详细信息。现在, 我们将运行该应用程序并查看输出。
【LINQ转ADO.Net】输出
文章图片
推荐阅读
- Linux目录
- LINQ转DATASET
- appweb支持文件夹打开的方法
- Android系统DHCP问题
- Android开发中实现桌面小部件
- GraduateDesign-初试APP编写
- APP服务端API(数据接口)设计应该考虑到的问题
- 自建APP ,你选择对平台了吗?
- android textview空格占位符