You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SELECT DISTINCT [v].[BendrinisPavadinimasId], [v0].[Pavadinimas] AS [BendrinisPavadinimas], [v].[FormaId], [v2].[Pavadinimas] AS [Forma]
FROM [Vaistas] AS [v]
LEFT JOIN [VaistoBendrinisPavadinimas] AS [v0] ON [v].[BendrinisPavadinimasId] = [v0].[Id]
LEFT JOIN [VaistoFirminisPavadinimas] AS [v1] ON [v].[FirminisPavadinimasId] = [v1].[Id]
LEFT JOIN [VaistoForma] AS [v2] ON [v].[FormaId] = [v2].[Id]
WHERE (([v].[GrupeId] <>5) AND ([v].[EspbiKey] IS NOT NULLAND [v].[EspbiUpdatedAt] IS NOT NULL)) AND (EXISTS (
SELECT1FROM [VaistoRaktinioZodzioVieta] AS [v3]
INNER JOIN [VaistoRaktinisZodis] AS [v4] ON [v3].[RaktinisZodisId] = [v4].[Id]
WHERE ((([v0].[Id] = [v3].[BendrinisPavadinimasId])
-- second AND wasn't in EF 2.2 AND ([v0].[Id] IS NOT NULLAND [v3].[BendrinisPavadinimasId] IS NOT NULL))
OR ([v0].[Id] IS NULLAND [v3].[BendrinisPavadinimasId] IS NULL))
AND-- second expression bigger then EF 2.2 with additional checking
(((@__get_Item_0 = N'') AND @__get_Item_0 IS NOT NULL) OR (@__get_Item_0 IS NOT NULLAND (([v4].[Pavadinimas] LIKE [v4].[Pavadinimas] + N'%') AND (((LEFT([v4].[Pavadinimas], LEN(@__get_Item_0)) = @__get_Item_0) AND (LEFT([v4].[Pavadinimas], LEN(@__get_Item_0)) IS NOT NULLAND @__get_Item_0 IS NOT NULL)) OR (LEFT([v4].[Pavadinimas], LEN(@__get_Item_0)) IS NULLAND @__get_Item_0 IS NULL)))))) OR EXISTS (
SELECT1FROM [VaistoRaktinioZodzioVieta] AS [v5]
INNER JOIN [VaistoRaktinisZodis] AS [v6] ON [v5].[RaktinisZodisId] = [v6].[Id]
WHERE ((([v1].[Id] = [v5].[FirminisPavadinimasId]) AND ([v1].[Id] IS NOT NULLAND [v5].[FirminisPavadinimasId] IS NOT NULL)) OR ([v1].[Id] IS NULLAND [v5].[FirminisPavadinimasId] IS NULL)) AND (((@__get_Item_0 = N'') AND @__get_Item_0 IS NOT NULL) OR (@__get_Item_0 IS NOT NULLAND (([v6].[Pavadinimas] LIKE [v6].[Pavadinimas] + N'%') AND (((LEFT([v6].[Pavadinimas], LEN(@__get_Item_0)) = @__get_Item_0) AND (LEFT([v6].[Pavadinimas], LEN(@__get_Item_0)) IS NOT NULLAND @__get_Item_0 IS NOT NULL)) OR (LEFT([v6].[Pavadinimas], LEN(@__get_Item_0)) IS NULLAND @__get_Item_0 IS NULL)))))))
EF 2.2 generates
SELECT DISTINCT [e].[BendrinisPavadinimasId], [e.BendrinisPavadinimas].[Pavadinimas] AS [BendrinisPavadinimas], [e].[FormaId], [e.Forma].[Pavadinimas] AS [Forma]
FROM [Vaistas] AS [e]
LEFT JOIN [VaistoForma] AS [e.Forma] ON [e].[FormaId] = [e.Forma].[Id]
LEFT JOIN [VaistoFirminisPavadinimas] AS [e.FirminisPavadinimas] ON [e].[FirminisPavadinimasId] = [e.FirminisPavadinimas].[Id]
LEFT JOIN [VaistoBendrinisPavadinimas] AS [e.BendrinisPavadinimas] ON [e].[BendrinisPavadinimasId] = [e.BendrinisPavadinimas].[Id]
WHERE (([e].[GrupeId] <>5) AND ([e].[EspbiKey] IS NOT NULLAND [e].[EspbiUpdatedAt] IS NOT NULL)) AND (EXISTS (
SELECT1FROM [VaistoRaktinioZodzioVieta] AS [rzv]
INNER JOIN [VaistoRaktinisZodis] AS [rzv.RaktinisZodis] ON [rzv].[RaktinisZodisId] = [rzv.RaktinisZodis].[Id]
WHERE (([rzv.RaktinisZodis].[Pavadinimas] LIKE @__get_Item_0 + N'%'AND (LEFT([rzv.RaktinisZodis].[Pavadinimas], LEN(@__get_Item_0)) = @__get_Item_0))
OR (@__get_Item_0 = N''))
AND ([e.BendrinisPavadinimas].[Id] = [rzv].[BendrinisPavadinimasId])) OR EXISTS (
SELECT1FROM [VaistoRaktinioZodzioVieta] AS [rzv0]
INNER JOIN [VaistoRaktinisZodis] AS [rzv.RaktinisZodis0] ON [rzv0].[RaktinisZodisId] = [rzv.RaktinisZodis0].[Id]
WHERE (([rzv.RaktinisZodis0].[Pavadinimas] LIKE @__get_Item_0 + N'%'AND (LEFT([rzv.RaktinisZodis0].[Pavadinimas], LEN(@__get_Item_0)) = @__get_Item_0)) OR (@__get_Item_0 = N'')) AND ([e.FirminisPavadinimas].[Id] = [rzv0].[FirminisPavadinimasId])))
EF 3.0 generates bigger SQL. One of them additional
AND ([v0].[Id] IS NOT NULLAND [v3].[BendrinisPavadinimasId] IS NOT NULL))
OR ([v0].[Id] IS NULLAND [v3].[BendrinisPavadinimasId] IS NULL)
and return wrong data
Further technical details
EF Core version: 3.0
Database provider: Microsoft.EntityFrameworkCore.SqlServer
Target framework: .NET Core 3.0
Operating system: Windows 10
IDE: Visual Studio 2019 16.3
The text was updated successfully, but these errors were encountered:
After upgrade to 3.0 generates wrong sql (EF 2.2 was good)
EF 3.0 generates SQL:
EF 2.2 generates
EF 3.0 generates bigger SQL. One of them additional
and return wrong data
Further technical details
EF Core version: 3.0
Database provider: Microsoft.EntityFrameworkCore.SqlServer
Target framework: .NET Core 3.0
Operating system: Windows 10
IDE: Visual Studio 2019 16.3
The text was updated successfully, but these errors were encountered: