gpt4 book ai didi

nhibernate - 使用 nHibernate 查询今天的日期在发布日期和到期日期之间

转载 作者:行者123 更新时间:2023-12-04 05:34:40 25 4
gpt4 key购买 nike

我想弄清楚如何在 NHibernate 中进行最佳查询,以便返回的结果介于今天时间 >= PublishDateTime 和 <=ExpiryDateTime 的条目之间

到期日期可以为空,所以我需要考虑到这一点。我找到了几个例子 herehere但它们似乎以不同的方式工作并接受 2 个值并与一个 DB 字段进行比较。我真的希望相反。

查询至今:

var query = _session.CreateCriteria<Message>()
.AddOrder(Order.Desc("PublishedDateTime"))
.List<Message>();
return query;

任何建议将不胜感激!

最佳答案

最简单的 Linq 查询:

return _session.Query<Message>()
.Where(m => DateTime.Today >= m.PublishDateTime &&
(m.ExpiryDateTime == null ||
DateTime.Now <= m.ExpiryDateTime)
.OrderByDescending(m => m.PublishDateTime)
.ToList();

标准:
return _session.CreateCriteria<Message>()
.Add(Restrictions.Le("PublishedDateTime", DateTime.Today) &
(Restrictions.IsNull("ExpiryDateTime") |
Restrictions.Ge("ExpiryDateTime",
DateTime.Now)))
.AddOrder(Order.Desc("PublishedDateTime"))
.List<Message>();

关于nhibernate - 使用 nHibernate 查询今天的日期在发布日期和到期日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4368623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com