LINQ to SQL内部连接

在LINQ to SQL中, 内部连接将仅返回记录或行, 这将根据定义的条件映射两个表。

LINQ to SQL内部连接的语法

这是使用LINQ to SQL内部连接从多个表中获取数据的语法。

C#代码

var result = from ed in db.EmployeeDetails

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

select new

{

Name = ed.EmpName, Department = d.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" %>

<!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
{
    private object db;

    protected void Page_Load(object sender, EventArgs e)
    {
        var result = from ed in db.Employeedetail

                     join d in db.Department on ed.DeptId equals d.DeptId

                     where d.DeptName.Equals("software")

                     select new

                     {

                         Name = ed.EmpName, Location = ed.Location, Gender = ed.Gender, Department = d.DeptName

                     };

        gvDetails.DataSource = result;

        gvDetails.DataBind();

    }
}

从上面的示例中, 我们尝试使用内部连接从” EmployeeDetails”和”部门”表中获取数据。

输出

LINQ To SQL内部连接

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?