gpt4 book ai didi

c# - NHibernate 别名中的错误

转载 作者:太空狗 更新时间:2023-10-29 17:58:34 25 4
gpt4 key购买 nike

我正在使用 NHibernate 进行数据库管理。在一个类中,我使用以下公式计算一个属性:

(SELECT MIN(x.timestamp) FROM (SELECT MAX(r.Timestamp) AS timestamp, r.Meter_Id FROM Reading r, Meter m WHERE r.Meter_Id = m.Id AND m.Store_Id = Id GROUP BY r.Meter_Id) AS x)

生成的查询如下所示:

(SELECT MIN(x.timestamp) FROM (SELECT MAX(r.Timestamp) AS timestamp, r.Meter_Id FROM Reading r, Meter m WHERE r.Meter_Id = m.Id AND m.Store_Id = this_.Id GROUP BY r.Meter_Id) AS this_.x)

很明显AS语句中的名字被重命名为this_.x,导致了错误。

这似乎是一个已知错误:NHibernate JIRA #NH-2878

有人对此有解决方案吗?

最佳答案

我可能弄错了,但我实际上不明白为什么您需要在该特定公式中使用别名。

在更一般的意义上,您有几个选择:

  • 解决此问题。您可以使用存储过程,或加载更多数据并在内存中进行计算。
  • 修复它。NHibernate 是开源的——提取代码,找到原因,在测试中隔离它,修复它,然后发送拉取请求。
  • 找其他人来修复它。如果您的公司正在使用 NHibernate 并且这对他们很重要,他们可能会赞助另一个 NHibernate 贡献者来实现修复。

关于c# - NHibernate 别名中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9534651/

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