내가 가진이 LINQ 쿼리Entity Framework 6에서 간단한 조회를 위해 복잡한 SQL 쿼리를 생성하는 이유는 무엇입니까?
dbContext.Customers.Where(c => c.AssetTag == assetTag).Count();
또는
(from c in dbContext.Customers
where c.AssetTag == assetTag
select c).Count();
생성 된 SQL은
SELECT
[GroupBy1].[A1] AS [C1]
FROM (SELECT
COUNT(1) AS [A1]
FROM [dbo].[Customer] AS [Extent1]
WHERE (([Extent1].[AssetTag] = @p__linq__0) AND (NOT ([Extent1].[AssetTag] IS NULL OR @p__linq__0 IS NULL))) OR (([Extent1].[AssetTag] IS NULL) AND (@p__linq__0 IS NULL))
) AS [GroupBy1]
왜 LINQ는 곳 문 간단한에 대한 복잡한 SQL을 생성 않습니다 입니까?
'[AssetTag]'열이 'null'일 수 있습니까? –
그게 복잡하지 않아, 그냥 null 범위에서 귀하의 전화를 보호하기 위해 성명을 만듭니다 – Claies
Linq 또는 Lamda 에서이 SQL 쿼리를 얻을 수있는 방법을 말해 줄 수 있습니까? 이것은 일반적으로 귀하의 질문에 무관하지만 뭔가 점점 문제가 있습니다. –