gpt4 book ai didi

NHibernate 标准 API - 如何添加子句以将一个日期与另一个日期减去一个值进行比较

转载 作者:行者123 更新时间:2023-12-04 07:45:27 25 4
gpt4 key购买 nike

我正在尝试使用 NHibernate 构建一个标准对象,它将比较 date1 和 date2 减去一个值。在 Sql Server 中,我会这样做:

select * from table where date1 < DateAdd(Day, 2, date2)

谁能告诉我如何在 NHibernate 中做到这一点?

干杯

编辑

我应该早点指定这一点,我想了解如何使用标准 API 来做到这一点。

date1 和 date2 也是表上的列,所以在运行查询之前我不知道它们的值

最佳答案

嗯,完全一样的方式:-)

高品质:

session.CreateQuery("from Entity where Date1 < DateAdd(Day, 2, Date2)")

查询语句:
session.CreateSQLQuery(@"select * from table
where date1 < DateAdd(Day, 2, date2)")
.AddEntity(typeof(Entity))

标准:
session.CreateCriteria<Entity>()
.Add(Restrictions.LtProperty(
Projections.Property("Date1"),
Projections.SqlFunction(
new SQLFunctionTemplate(NHibernateUtil.Date,
"DateAdd(Day, 2, ?1)"),
NHibernateUtil.Date,
Projections.Property("Date2"))))

在所有情况下, .List()将执行查询并返回指定类型的对象列表。

关于NHibernate 标准 API - 如何添加子句以将一个日期与另一个日期减去一个值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302711/

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