首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq 2 SQL转换为外部联接

Linq 2 SQL转换为外部联接
EN

Stack Overflow用户
提问于 2014-09-22 19:54:55
回答 1查看 71关注 0票数 0

我有这个linq查询,它有几个联接。我想把其中一个转换成外部连接。问题是这个查询已经有一个from子句。如何将此查询转换为在OrderCertification表上使用左联接而不是内部连接?

以下查询不起作用(导致我的应用程序崩溃):

代码语言:javascript
复制
var orderSummaries = from os in DbOrder.QueryOrderSummaries().Where(os => orders.Contains(os.OrderID))
   join o in dc.ORDERs on os.OrderID equals o.OrderID
   join oa in dc.ORDERADDRESSes on os.OrderID equals oa.OrderID
   join d in dc.vDoctors on o.DoctorID equals d.DoctorID
   join c in dc.ORDERCERTIFICATIONs on os.OrderID equals c.OrderID into oc
   from certification in oc.DefaultIfEmpty()
   select new BatchOrderItem {
      OrderSummary = os,
      Order = o,
      ShipTo = oa,
      Prescriber = d,
      CertificationContact = certification
    };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-22 20:04:42

诀窍是使用DefaultIfEmpty返回第一个表中的所有行。查看下面的示例:http://msdn.microsoft.com/en-us/library/bb397895.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25982151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档