0

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キーワードを使用しないように変更できることは知っていますが、上記が機能しない理由に興味があります

4

1 に答える 1

0

OK、ばかげた間違いです。テーブルを設定するときに実際の列定義で [End] を使用しました。End を使用する必要があります。

于 2012-09-28T10:20:38.450 に答える