LINQ to SQL group连接

在LINQ to SQL中, 带有” 表达式” 的Join子句称为” 组连接” 。在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 group连接】要了解映射的过程, 请单击链接LINQ to SQL。
一旦我们创建了所需的表并将其映射到.dbml文件。现在我们要在应用程序中显示数据。为此, 我们必须在应用程序上单击鼠标右键-> 选择添加-> 新建项目-> 选择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"> < /head> < body> < form id="form1" runat="server"> < div> < asp:GridView ID="gvDetails" runat="server"> < /asp:GridView> < /div> < /form> < /body> < /html>

现在打开文件后面的代码并编写代码, 如下所示:
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.EmployeeDetailsjoin d in db.Departments on ed.DeptId equals d.DeptId into edeptfrom dpem in edeptselect new{Name = ed.EmpName, Location = ed.Location, Gender = ed.Gender, Department = dpem.DeptName}; gvDetails.DataSource = result; gvDetails.DataBind(); }} }

从上面的示例中, 我们尝试使用” 组连接” 从” EmployeeDetails” 和” 部门” 表中获取数据。
输出
LINQ to SQL group连接

文章图片

    推荐阅读