如何在Linq中执行左外连接?

本文关键字:连接 执行 Linq | 更新日期: 2023-09-27 18:14:43

我是Linq的新手,我需要将此查询转换为DocumentStores和Orders之间的左外连接,因为并非所有文档都与订单相关:

    var documents=(from d in _dataContextOrders .DocumentStores 
                           join o in _dataContextOrders.Orders on d.OrderID equals o.ID
                           join t in _dataContextOrders .DocumentTypes on d.DocumentType equals t.DocTypeID
                       select new
                           {
                               d.ID,
                               o.PORef ,
                               t.DocTypeDescription,
                               d.Name,
                               d.ContentType
                           }).ToList();

我如何做到这一点?

如何在Linq中执行左外连接?

from a in dataContext.<tableA>
join _b in dataContext.<tableB> on a.id equals _b.aid into _b
from b in _b.DefaultIfEmpty()
select <whatyouwanttoselect>

b将为空,如果id的连接失败