タイプ Timestmap のバージョン管理フィールドを持つテーブルがあります。今、このフィールドで検索してクエリを作成しようとしていますが、次の方法でパラメーターを渡すと:
query.SetParameter("TimeStamp", lastTick, NHibernateUtil.Timestamp);
SQLクエリにDateTimeとして渡します。NHibernateUtil.Binary も試しましたが、nhibernate はそれを varbinary として渡します。
タイプ Timestmap のバージョン管理フィールドを持つテーブルがあります。今、このフィールドで検索してクエリを作成しようとしていますが、次の方法でパラメーターを渡すと:
query.SetParameter("TimeStamp", lastTick, NHibernateUtil.Timestamp);
SQLクエリにDateTimeとして渡します。NHibernateUtil.Binary も試しましたが、nhibernate はそれを varbinary として渡します。
The NHibernate TimestampType specifies:
This is almost the exact same type as the DateTime except it can be used in the version column, stores it to the accuracy the database supports, and will default to the value of DateTime.Now if the value is null.
このタイプは、MS SQL タイプの TIMESTAMP では使用できません。実際、その列タイプは非推奨です。
タイムスタンプ構文は非推奨です。この機能は、Microsoft SQL Server の将来のバージョンでは削除される予定です。新しい開発作業でこの機能を使用することは避け、現在この機能を使用しているアプリケーションを変更することを計画してください。
NHibernateUtil.Binary
またはを使用する必要がありますNHibernateUtil.BinaryBlob
。