c# – 按日期获取记录,仅使用nhibernate进行日期部分比较
发布时间:2020-12-15 08:21:23 所属栏目:百科 来源:网络整理
导读:无论何时与这些记录相关联,我都希望从特定日期获取所有记录.到目前为止,我有这样的方法: public IQueryableRecord QueryByDay(DateTime day){ DateTime from = day.Date; DateTime to = day.Date.AddDays(1); return repository.Table .Where(t = t.MyDate
无论何时与这些记录相关联,我都希望从特定日期获取所有记录.到目前为止,我有这样的方法:
public IQueryable<Record> QueryByDay(DateTime day) { DateTime from = day.Date; DateTime to = day.Date.AddDays(1); return repository.Table .Where(t => t.MyDate >= from && t.MyDate < to); } 但是在linq-to-object中我们可以做(假设Table现在是一些集合): public IEnumerable<Record> QueryByDay(DateTime day) { return repository.Table .Where(t => t.MyDate.Date == day.Date); } 这显然更具可读性,感觉更干净.我想知道是否有更好的方法来编写使用数据库存储和nhibernate的第一个方法? 解决方法
如评论中所述,您的LINQ查询与NH 3.3一起正常工作.
在早期版本中,您可以使用HQL: return session.CreateQuery("from MyClass where date(MyDate) = :day") .SetParameter("day",day.Date) .List<MyClass>(); //executes 您还可以通过SqlFunction使用Criteria中的日期函数.这更复杂,但允许构建更多动态查询: return session.CreateCriteria<Foo>() .Add(Restrictions.Eq( Projections.SqlFunction("date",NHibernateUtil.Date,Projections.Property("MyDate")),day.Date)) .List<MyClass>(); //executes (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 如何显示存储在s3上的图像而不存储在硬盘
- flash builder 控制台不打印的问题
- ruby-on-rails – ActiveRecord数组计数
- iPhone – 获取用户的国家/地区
- ruby-on-rails – Ruby on Rails:检查商店拥有的产品数量
- ruby-on-rails – 在rails中测试签名的cookie
- c# – 为Windows phone Silverlight Pages实现Dispose和Fin
- Ajax请求+JSON传回到页面数据的例子
- Swift - 启动时的向导页(新手引导)的制作
- Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0问题解