我在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我知道我可以改为不使用关键字,但感兴趣为什么以上不起作用
答案 0 :(得分:0)
好的,愚蠢的错误,我在设置表时在实际列定义中使用了[End],应该只使用End