我在 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我知道我可以更改为不使用关键字,但我很感兴趣为什么以上不起作用