NHibernate与Firebird ……是否启用了这些function?

我们正在使用NHibernate在Firebird后端取得巨大成功。 我的问题与Firebird支持的NHibernate中可用的function有关。 如果您对Firebird和NHibernate有任何专业知识,欢迎您提出意见。

  1. Firebird是否支持“未来”查询? 从我的阅读中可以看出,Firebird是少数几个不支持此function的数据库之一。 有没有人有一个解决方法,因为“未来”将是一个很好的function来利用。

  2. Firebird是否支持NHibernatefunction“prepare_sql”。 出于某种原因,我不能让它在Firebird中工作,并不断收到关于参数大小不相等的警告(在Nhibernate Profiler中)。

  3. Firebird是否支持批处理? 在NHibernate映射中,我们指定批处理但是在分析器中看不到任何这种证据。

对于那些感兴趣的人,我们使用Fluent NHibernate来配置NHibernate。 一切运作良好,我们对ORM有很大的控制权,但只需要澄清上述内容。

你的意见?

据我所知,仅支持MsSql和Oracle的批处理。 甚至MySql都没有批处理支持。

您可以随时下载NH源代码,看看是否支持这些function。 IMO火鸟近年来并不是很受欢迎,并且可能没有多少内容将这些function用于火鸟的NH。

“未来”是NHibernate的一个特色。 根据我通过阅读有关期货的理解,所需的数据库function是将一批(往返)中的多个语句发送到服务器,并将结果一次性地接收回来。

我认为Firebird不允许这样做,因为你必须单独准备和执行语句。

虽然如果只进行插入/更新/删除,您可以在execute block语句中对这些语句进行execute block ,但这只能返回一个结果集。

要获得明确的答案,请务必在firebird-support邮件列表中询问。