2

我首先有一个由 Entity Framework 6 代码生成的数据库。

当我从 Visual Studio Express 2012 for Windows Desktop 运行以下查询时

select * from calibrations

Visual Studio 将其更改为:

SELECT        Id, CertificateNumber, Slope, Offset, Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, CollectionSoftware_Id, 
                     ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

它给出了以下错误:

**强文本**

如果我然后通过将 SQL 查询更改为:

SELECT        Id, CertificateNumber, Slope, Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, CollectionSoftware_Id, 
                     ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

它没有错误地完成。

我正在使用 SQL Server CE。Offset 列是表格的一部分。

我找不到任何关于 Offset 是否是关键字的信息。但我试图在 Offset 周围加上方括号,例如:

SELECT        Id, CertificateNumber, Slope, [Offset], Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, CollectionSoftware_Id, 
                     ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

这没有帮助。

我试图更改 POCO 中的名称:

SELECT        Id, CertificateNumber, Slope, IsThisNameTheProblem, Correlation, Covariance, Anemometer_Id, ApprovedBy_Id, Batch_Id, CertificateSoftware_Id, 
                     CollectionSoftware_Id, ControlAnemometer_Id, Operator_Id, Type_Id
FROM            Calibrations

这行得通!为什么?

4

1 回答 1

0

OFFSET 是一个保留字,如此处所述(有拼写错误)http://technet.microsoft.com/en-us/library/ms173340.aspx,用括号括起来可以解决问题。不知道为什么“这对您没有帮助”,因为我无法复制。

于 2013-11-06T10:19:42.597 回答