Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使NHibernate对DateTime.Date使用TRUNC_C#_.net_Nhibernate_Linq To Nhibernate - Fatal编程技术网

C# 使NHibernate对DateTime.Date使用TRUNC

C# 使NHibernate对DateTime.Date使用TRUNC,c#,.net,nhibernate,linq-to-nhibernate,C#,.net,Nhibernate,Linq To Nhibernate,我有一个具有DateTime属性的实体,该实体映射到Oracle数据库中的表 以下查询使用不存在的date函数而不是trunc,生成NHibernate: session.Query<MyEntity>().Where(x => x.MyProperty.Date = myDate); session.Query().Where(x=>x.MyProperty.Date=myDate); 生成的SQL如下所示: select <columns> from MY_

我有一个具有
DateTime
属性的实体,该实体映射到Oracle数据库中的表

以下查询使用不存在的
date
函数而不是
trunc
,生成NHibernate:

session.Query<MyEntity>().Where(x => x.MyProperty.Date = myDate);
session.Query().Where(x=>x.MyProperty.Date=myDate);
生成的SQL如下所示:

select <columns> from MY_ENTITY where date(MY_PROPERTY) = :p0;
从MY_实体中选择日期(MY_属性)=:p0;
如何告诉NHibernate改用
trunc

我使用的是NHibernate(
OracleDataClientConfiguration.Oracle10
)的ODP.NET提供程序。

以前是,但尚未发布稳定版本(截至2012年2月15日)

在此之前,只需从
Oracle10gDialante
继承并在构造函数中注册函数:

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

然后将NH配置为使用修改后的方言。

谢谢,这是我在此期间已经做过的。很高兴知道它已修复!:-)