この SQL クエリを linq に書き込む方法を知っていますか?
SELECT *
FROM
a
INNER JOIN b
ON a.FkSubmissionId = b.Id
RIGHT JOIN c
ON a.FkItemId = c.Id
WHERE
(b.FkUserId = '...' OR b.FkUserId is null)
and
(c.FkTenderId = 2)
私はLinquerを使用していますが、ツールから得た最高のものは次のとおりです。
リンク:
from
items in _context.Items
from
si in _context.si
join s in _context.s
on new { fki = si.fki } equals new { fki = s.Id }
into
submissions_join
from
s in submissions_join.DefaultIfEmpty()
...
SQL の結果:
SELECT *
FROM
[Items] AS [t0]
CROSS JOIN [SubmissionsItems] AS [t1]
LEFT OUTER JOIN [Submissions] AS [t2]
ON [t1].[FkSubmissionId] = [t2].[Id]
WHERE
(([t2].[FkUserId] = @p0) OR (([t2].[FkUserId]) IS NULL))
AND
([t0].[FkTenderId] = @p1)
したがって、最終結果は、必要なクエリから取得したものではありません...
ご協力ありがとうございました !!!