2012-02-15 6 views
0

OracleデータベースのテーブルにマップされるDateTimeプロパティを持つエンティティがあります。NHibernateでDateTime.DateにTRUNCを使用する

次のクエリはtruncの代わりに存在しないdate機能を使用してNHibernateのにつながる:

select <columns> from MY_ENTITY where date(MY_PROPERTY) = :p0; 

NHibernateはを伝えるためにどのようにtruncを使用する:

session.Query<MyEntity>().Where(x => x.MyProperty.Date = myDate); 

結果のSQLは次のようなものです代わりに?

私はNHibernate(OracleDataClientConfiguration.Oracle10)のODP.NETプロバイダを使用しています。

答えて

2

This issuefixed about a month agoだったが、安定したバージョンは、それが起こるまでは

(15/2月/ 2012のように)ちょうどOracle10gDialectを継承し、コンストラクタで関数を登録まだ発売されていません。

RegisterFunction("date", new StandardSQLFunction("trunc", NHibernateUtil.Date)); 

次に、修正された方言を使用するようにNHを構成します。

+0

ありがとう、それは私がすでにその間にやったことです。それは固定されていることを知って良い! :-) –

関連する問題