📜  LINQ to SQL组联接

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

LINQ to SQL组加入

在LINQ to SQL中,加入条款与进入“表达”被称为加入。在LINQ to SQL中,组联接基于两个集合中的匹配元素生成对象元素序列。

LINQ to SQL组联接的语法

使用LINQ to SQL Group Join从多个表中获取数据的语法。

var result = from ed in db.EmployeeDetails
join d in db. Departments on ed.DeptId equals d.DeptId into edept
from dpem in edept
select new
{
Name = ed.EmpName,
Department = dpem.DeptName
};

通过以上语法,我们联接了“ EmployeeDetails”,“部门”表,以通过使用组联接来获取所需的数据。

LINQ to SQL组联接的示例

在开始实现LINQ to SQL组连接示例之前,首先需要创建一个具有所需表的数据库,并将这些表映射到LINQ to SQL文件( .dbml )。

要了解映射的过程,请单击链接LINQ to SQL

一旦我们创建了所需的表并将其映射到.dbml文件。现在我们要在应用程序中显示数据。为此,我们必须在应用程序上单击鼠标右键->选择添加->新建项目->选择Web表单->将名称指定为Default.aspx,然后单击确定按钮

现在打开Default.aspx页面并编写如下代码:

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








    

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

using System;
using System.Collections.Generic;
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)

    {

        EmployeeDBDataContext db = new EmployeeDBDataContext();

        if (!Page.IsPostBack)

        {

            var result = from ed in db.EmployeeDetails

                         join d in db.Departments on ed.DeptId equals d.DeptId into edept

                         from dpem in edept

                         select new

                         {

                             Name = ed.EmpName,

                             Location = ed.Location,

                             Gender = ed.Gender,

                             Department = dpem.DeptName

                         };

            gvDetails.DataSource = result;

            gvDetails.DataBind();

        }

    }
}

从上面的示例中,我们尝试使用“组联接”从“ EmployeeDetails ”和“ Departments”表中获取数据。

输出值