这行得通吗?如果删除(或(null并且为null))子句时发布的查询正确,那么我认为这将执行相同的查询。(这假定联接中没有逻辑错误,如其他文章中所建议。)
var query = (from i in _repo.Invoices from o in _repo.Orders.Where(c => c.orderid == i.orderid) from o2 in _repo.Orders.Where(c => c.linkedorderid == o.linkedorderid).DefaultIfEmpty() where invoiceIds.Contains(i.invoiceid) select new { i, o2 }).ToList();


