LINQクエリ左外側にはC#のLINQに参加
from rc in context.RC
join r in context.R on rc.RId equals r.Id
join c in context.C on rc.CId equals c.Id
join f in context.F on rc.FId equals f.Id into fg
from f in fg.DefaultIfEmpty()
join e in context.E on rc.EId equals e.Id into eg
from e in eg.DefaultIfEmpty()
生成されたSQLが
SELECT *
FROM [dbo].[RC] AS [Extent1]
INNER JOIN [dbo].[R] AS [Extent2] ON [Extent1].[RId] = [Extent2].[Id]
INNER JOIN [dbo].[C] AS [Extent3] ON [Extent1].[CId] = [Extent3].[Id]
INNER JOIN [dbo].[F] AS [Extent4] ON [Extent1].[FId] = [Extent4].[Id]
INNER JOIN [dbo].[E] AS [Extent5] ON [Extent1].[EId] = [Extent5].[Id]
である私は何を取得したいことは何をしてください
SELECT *
FROM [dbo].[RC] AS [Extent1]
INNER JOIN [dbo].[R] AS [Extent2] ON [Extent1].[RId] = [Extent2].[Id]
INNER JOIN [dbo].[C] AS [Extent3] ON [Extent1].[CId] = [Extent3].[Id]
LEFT JOIN [dbo].[F] AS [Extent4] ON [Extent1].[FId] = [Extent4].[Id]
LEFT JOIN [dbo].[E] AS [Extent5] ON [Extent1].[EId] = [Extent5].[Id]
されていません私はmissiですか?私のLINQクエリでngのコード
の
スクリーンショットの更新 @GertArnold、RC-F
(テーブル)とRC-E
(テーブル)でのコメントに基づいて
でありますN-1
アソシエーション。RC
はF
の有効なIDキー参照を保持するが、RC
テーブルの一部、F
のidsは0である、私はinner join
のデータをスキップしています。
だから今どのように私は私のDBスキーマ@GertArnold、RC-F(テーブル)とRC-E(テーブル)でのコメントに基づいて
、 'Join'は、LINQクエリは結構ですと' LEFT JOIN'を生成する必要があります 'インナーJoin'と' GroupJoin'は 'LEFT OUTER Join' –
を指します。どのORMを使用していますか? –
@IvanStoev Entity Framework 6 – HaBo