我有以下SQL查询,并想转换为LINQ到SQL我将在实体框架5.0如何转换下面的SQL查询转换为LINQ to 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]
不知道这可能是问题。请帮帮我。
请提供您使用 –
@lazyberezovsky谢谢,我已经与LINQ查询更新的LINQ查询。 – Elangesh