我们正在使用NHibernate在Firebird后端取得巨大成功。我的问题涉及Firebird支持的NHibernate中可用的功能。如果您对Firebird和NHibernate有任何专业知识,欢迎您提出意见。
Firebird是否支持“未来”查询?从我的阅读中可以看出,Firebird是少数几个不支持此功能的数据库之一。有没有人有一个解决方法,因为“未来”将是一个很好用的功能。
Firebird是否支持NHibernate功能“prepare_sql”。出于某种原因,我无法在Firebird中使用它并不断收到关于参数大小不相等的警告(在Nhibernate Profiler中)。
Firebird是否支持批处理?在NHibernate映射中,我们指定了批处理,但在分析器中看不到任何证据。
对于那些感兴趣的人,我们使用Fluent NHibernate来配置NHibernate。一切运作良好,我们对ORM有很大的控制权,但只需要澄清上述项目。
你的想法?
答案 0 :(得分:1)
据我所知,仅支持MsSql和Oracle的批处理。甚至MySql都没有批处理支持。
您可以随时下载NH源代码,看看是否支持这些功能。 IMO火鸟近年来并不是很受欢迎,有可能在火星鸟的NH中使用这些功能并不多。
答案 1 :(得分:1)
“未来”是NHibernate的一个特色。根据我通过阅读about futures的理解,所需的数据库功能是将一批(往返)中的多个语句发送到服务器,并将结果一次性地接收回来。
我认为Firebird不允许这样做,因为你必须单独准备和执行语句。
虽然如果你只进行插入/更新/删除,你可以在execute block
语句中对这些语句进行分组,但这只能返回一个结果集。
要获得明确的答案,请务必在firebird-support邮件列表中提问。