【问题标题】:i can't use inner join and left join together我不能同时使用内连接和左连接
【发布时间】:2011-07-18 19:11:39
【问题描述】:

我在后续查询中同时使用了内连接和左连接,但结果只是 PostTags 和 PostXTags 之间的左连接。 我的问题是什么?

from pt in db.PostTags
                   join xp in
                       (
                           from x in db.PostXTags
                           join p in db.Posts
                           on x.PostID equals p.PostID
                           where p.PostID == postID
                           select x
                           )
                   on pt.PostTagID equals xp.PostTagID into g
                   from ptxp in g.DefaultIfEmpty()
                    where (pt.BlogID == blogID && pt.Type == PostTags.Type.Category)
                   select pt;

【问题讨论】:

    标签: entity-framework linq-to-entities


    【解决方案1】:

    当两个表关联 1 *(或 1 1)时,EF 使用 INNER JOIN。
    在其他情况下,通常使用 LEFT OUTER JOIN。
    如果实体之间没有关联,也将使用 LEFT OUTER JOIN。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 2015-03-04
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多