好的,可能是一个真的愚蠢的问题,但为什么Entity Framework生成的查询在开头包含“SELECT 1 AS C1”?这个是来做什么的?例如,我生成了以下内容:
SELECT
1 AS C1,
"Extent1".MY_ID AS MY_ID
FROM MYTABLE "Extent1"
WHERE 'test1' = "Extent1".MY_ID
如果我手动写这个,我会做这样的事情:
SELECT
MY_ID
FROM MYTABLE
WHERE 'test1' = MY_ID
由于
答案 0 :(得分:4)
不幸的是,并非所有表都有PK。并非所有预测都包括PK。 1 as C1
允许EF区分空表并仅选择可空字段。请记住,这可以在子查询或派生查询中,因此查看返回的行数不一定能解决这个问题。