я не могу использовать внутреннее соединение и левое соединение - PullRequest
0 голосов
/ 19 марта 2011

Я использовал внутреннее соединение и левое соединение в последующем запросе, но результатом было просто левое соединение между 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;

1 Ответ

0 голосов
/ 21 марта 2011

EF использует INNER JOIN, когда две таблицы связаны 1 <-> * (или 1 <-> 1).
В других случаях обычно используется LEFT OUTER JOIN.
Если между сущностями нет связи, будет также использоваться LEFT OUTER JOIN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...