首页 >数据库 >mysql教程 >如何在 LINQ to SQL 中执行内联接?

如何在 LINQ to SQL 中执行内联接?

DDD
DDD原创
2025-01-21 00:31:09864浏览

How Do I Perform Inner Joins in LINQ to SQL?

LINQ to SQL 内连接:语法和示例

LINQ to SQL 中的内连接根据匹配的谓词组合来自多个表的行。结果集仅包含满足连接条件的行。要使用 ON 子句执行内连接,请使用以下语法:

<code class="language-csharp">from t1 in table1
join t2 in table2 on t1.property equals t2.property
select new { t1.property1, t2.property2 } // 选择要包含在结果集中的字段</code>

例如,以下查询返回 DealerContact 表中所有在 Dealer 表中具有匹配 DealerID 值的记录:

<code class="language-csharp">var dealercontacts = from contact in DealerContact
                     join dealer in Dealer on contact.DealerId equals dealer.ID
                     select contact;</code>

这是一个更通用的示例,展示了带有 ON 子句的典型内连接:

<code class="language-csharp">var results = from t1 in db.Table1
              join t2 in db.Table2 on t1.field equals t2.field
              select new { t1.field2, t2.field3 };</code>

在此示例中,db 代表数据上下文。第一行创建表 Table1 的别名 t1,第二行创建表 Table2 的别名 t2on 子句通过匹配两个表的 field 属性来定义连接条件。select 语句指定要包含在结果集中的每个表的字段。 select new { ... } 创建一个匿名类型,包含你选择的字段。

以上是如何在 LINQ to SQL 中执行内联接?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn