开发者

Entity Framework SELECT 1 AS C1

开发者 https://www.devze.com 2023-01-07 06:33 出处:网络
OK, probably a really stupid question, but why is the query being generated by Entity Fram开发者_JS百科ework include \"SELECT 1 AS C1\" at the beginning? What is this for? For example, I have the foll

OK, probably a really stupid question, but why is the query being generated by Entity Fram开发者_JS百科ework include "SELECT 1 AS C1" at the beginning? What is this for? For example, I have the following being generated:

SELECT 
1 AS C1, 
"Extent1".MY_ID AS MY_ID
FROM MYTABLE "Extent1"
WHERE 'test1' = "Extent1".MY_ID

If I had written this manually I would have done something like this:

SELECT 
MY_ID
FROM MYTABLE
WHERE 'test1' = MY_ID

Thanks


Not all tables have a PK, unfortunately. Not all projections include a PK. The 1 as C1 allows the EF to distinguish between empty tables and selecting only nullable fields. Keep in mind this can be in a subquery or derived query, so looking at the number of rows returned doesn't necessarily answer that.

0

精彩评论

暂无评论...
验证码 换一张
取 消