Я следующий SQL Query и хотел бы преобразовать в LINQ к SQL, которые я буду использовать в рамках объекта 5,0Как преобразовать следующий SQL-запрос в LINQ к SQL запроса
var internationalDesksList =
from internationalDesks in _context.InternationalDesks
from subsection in
_context.Subsections.Where(
s =>
internationalDesks.EBALocationId == s.LocationId ||
internationalDesks.FELocationId == s.LocationId).DefaultIfEmpty()
where subsection.PublicationId == 1
select new {internationalDesks.Id, subsection.LocationId};
я упомянул следующие сообщения и ответы. Хотя не повезло.
- LINQ to SQL - Left Outer Join with multiple join conditions Linq
- left join on multiple (OR) conditions
Когда я попробовал этот запрос в LINQPad я получил следующий ответ, который является правильным.
-- Region Parameters
DECLARE @p0 Int = 1
-- EndRegion
SELECT [t0].[Id], [t1].[Id] AS [Id1]
FROM [InternationalDesks] AS [t0]
LEFT OUTER JOIN [Subsection] AS [t1] ON (([t0].[FELocationId]) = [t1].[LocationId]) OR (([t0].[EBALocationId]) = [t1].[LocationId])
WHERE [t1].[PublicationId] = @p0
Однако в инфраструктуре сущности 5 (DBContext) он не дает мне правильный запрос. Когда я проверил в профилировщике SQL, все столбцы в таблице подраздела выбраны. Вот и все.
Ниже приводится результат:
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Description] AS [Description],
[Extent1].[PracticeAreaId] AS [PracticeAreaId],
[Extent1].[LocationId] AS [LocationId],
...
FROM [dbo].[Subsection] AS [Extent1]
Не знаю, что может быть проблемой. Пожалуйста, помогите мне.
Просьба LINQ запрос, который вы используете –
@lazyberezovsky спасибо, я обновил с LINQ Query. – Elangesh