When using the Any() method on Entity Framework IQueryable, e.g.context.Users.Any(u => u.UserId == userId);The generated T-SQL is as follows:SELECT CASE WHEN ( EXISTS (SELECT 1 AS [C1] FROM [dbo].[Users] AS [Extent1] WHERE [Extent1].[User_ID] = @p__linq__0)) THEN cast(1 as bit) WHEN ( NOT EXISTS (SELECT 1 AS [C1] FROM [dbo].[Users] AS [Extent2] WHERE [Extent2].[User_ID] = @p__linq__0)) THEN cast(0 as bit) END AS [C1]FROM ( SELECT 1 AS X ) AS [SingleRowTable1]There is no reason for the second WHEN query. Instead the query could be simplified to:SELECT CASE WHEN ( EXISTS (SELECT 1 AS [C1] FROM [dbo].[Users] AS [Extent1] WHERE [Extent1].[User_ID] = @p__linq__0)) THEN cast(1 as bit) ELSE cast(0 as bit) END AS [C1]FROM ( SELECT 1 AS X ) AS [SingleRowTable1]
Visual Studio/Team Foundation Server/.NET Framework Tooling version
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results