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
的别名 t2
。on
子句通过匹配两个表的 field
属性来定义连接条件。select
语句指定要包含在结果集中的每个表的字段。 select new { ... }
创建一个匿名类型,包含你选择的字段。
以上是如何在 LINQ to SQL 中执行内联接?的详细内容。更多信息请关注PHP中文网其他相关文章!