SQL Server compact 4.0 - '[]'不适用于关键字?

时间:2012-09-28 09:54:13

标签: sql-server-ce

我在SQL Server compact 4.0中设置了一个列名[End],并在NHibernate中创建了一个映射(v3.3)

<property name="End" column="[End]" not-null="true" />

然而,我收到错误:

InnerException: System.Data.SqlServerCe.SqlCeException
   HResult=-2147467259
   Message=The column name is not valid. [ Node name (if any) = amendedday0_,Column name = End ]
   Source=SQL Server Compact ADO.NET Data Provider
   ErrorCode=-2147467259
   NativeError=25503

NHibernate生成的SQL是:

[SQL: SELECT table0_.[End] as column3_8_0_,]

据我所知,这意味着SQL驱动程序无法在数据库中找到列名[End]?但是,MSDN指南是在关键字周围使用[]或“”,所以应该找到[End]?

请帮助我指出正确的方向来解决这个问题。

PS我知道我可以改为不使用关键字,但感兴趣为什么以上不起作用

1 个答案:

答案 0 :(得分:0)

好的,愚蠢的错误,我在设置表时在实际列定义中使用了[End],应该只使用End