c# - 如何在 LINQ 中进行外部连接?

标签 c# sql linq entity-framework linq-to-entities

我定义了两个实体,它们映射到我数据库中的两个表。在 SQL 中,我会像这样进行连接:

select *
from tableA a
left outer join tableB b on b.ID = a.ID
where some condition

如何使用 LINQ 查询执行此操作?

最佳答案

使用 Labda 表达式,您使用 GroupJoin

例子:

var query =
  People
  .GroupJoin(
    Pets,
    person => person.PersonId,
    pet => per.Owner,
    (person, petCollection) =>
       new
       {
          Person = person,
          Pets = petCollection.Select(pet => pet.Name),
       });

关于c# - 如何在 LINQ 中进行外部连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6528256/

相关文章:

sql - RPC和普通链接服务器选择的性能差异

entity-framework - 嵌套查询 Entity Framework

c# - 获取列表中项目的产品 C# linq

c# - 在字符串中解析此字符串的最佳方法是什么?

c# - 无法在 asp.net View 中显示来自数据库的图像

mysql - 无法在 WHERE 子句中使用 MySQL extract() 函数

c# - LINQ 是否在所有情况下都替换正则表达式

c# - 清除类型为 : DropDownList 的 Winform Combobox 中的默认空值

c# - Wpf DataGrid 重复列

mysql 酒店房间供应情况