📜  LINQ转ADO.NET

📅  最后修改于: 2021-01-06 06:01:01             🧑  作者: Mango

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("Gender") == "Male")
select new
{
Name = dt.Field("empname"),
Location = dt.Field("location"),
Gender = dt.Field("gender"),
};

在上面的语法中,我们已经在ADO.NET数据集对象“ ds”上编写了LINQ查询,以获取所需的数据。

LINQ to ADO.NET示例

在这里,我们将以示例为例,说明如何使用LINQ to ADO.NET,我们将创建一个新的Web应用程序并与SQL SERVER建立连接,并使用LINQ在ADO.NET对象(数据集)上写查询以显示数据在网格视图中。

首先,我们将在数据库中创建一个新表“ EmployeeDetails” ,以便在数据库中执行以下查询,并插入一些虚拟数据以在应用程序中显示该数据。

现在,我们将为该文件创建一个新的Web应用程序,依次转到File-> Select New-> Select Project,如下所示

选择新项目后,将打开一个弹出窗口,我们必须选择asp.net空的Web应用程序,并为ADO.NET命名为LINQ,然后单击“确定”以创建一个新的Web应用程序。

现在,我们将网页添加到该应用程序中,我们需要在该应用程序上单击鼠标右键->选择添加->选择Web表单->将名称命名为“ Default.aspx” ,然后单击确定按钮,它将创建一个应用程序中的新页面。

现在打开“ Default.aspx”页面并编写代码,如下所示。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>





    


    

现在打开文件后面的代码,并如下所示编写代码:

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=JavaTPoint\\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("Gender") == "Male")

                             select new

                             {

                                 Name = dt.Field("EmpName"),

                                 Location = dt.Field("Location"),

                                 Gender = dt.Field("Gender"),

                             };

                gvDetails.DataSource = result;

                gvDetails.DataBind();

            }
        }
    }
}

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

输出值