NHibernate与Firebird ...是否启用了这些功能? [英] NHibernate with Firebird... are these features enabled?

查看:239
本文介绍了NHibernate与Firebird ...是否启用了这些功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在使用NHibernate来取得Firebird后端的巨大成功。我的问题涉及到由Firebird支持的NHibernate中提供的功能。如果您对Firebird和NHibernate有任何专业知识,欢迎您提出意见。


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


  2. Firebird是否支持NHibernate功能prepare_sql。由于某种原因,我不能在火鸟工作,并不断收到关于参数大小不相等的警告(在Nhibernate分析器)。


  3. Firebird支持批处理?在NHibernate映射中,我们指定了批处理,但在profiler中看不到任何证据。

  4. 流利的NHibernate来配置NHibernate。一切正常,我们对ORM有很大的控制权,但是只需要澄清一下上面的项目。



    你的想法是什么?


    <解决方案

未来是NHibernate的一个特性。从我通过阅读关于未来所了解的内容来看,数据库功能需要发送多个语句一个批次(往返)到服务器,并在一批中收到结果。

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

虽然如果你只是插入/更新/删除,你可以将 execute block 语句中的这些语句分组,它只能返回一个结果集。



为了得到明确的答案,一定要在 firebird-support 邮件列表。


We're using NHibernate to great success with a Firebird backend. My question relates to the features available in NHibernate being supported by Firebird. If you have any expertise with Firebird and NHibernate your comments are welcome.

  1. Does Firebird support "Future" queries? From my reading it would appear that Firebird is one of a few databases that doesn't support this feature. Does anyone have a workaround as "Future" would be a good feature to utilise.

  2. Does Firebird support the NHibernate feature "prepare_sql". For some reason I cannot get this to work in Firebird and continually receive the warning (in Nhibernate Profiler) about parameter sizes not being equal.

  3. Does Firebird support batching? In NHibernate mappings we specify batching however cannot see any evidence of this in the profiler.

For those interested we are using Fluent NHibernate to configure NHibernate. Everything works well and we have a great deal of control over the ORM however just need clarification on the above items.

Your thoughts?

解决方案

"Future" is a feature of NHibernate. From what I understood by reading about futures the database feature needed would be to send multiple statements in one batch (round-trip) to the server and receive the results back in one batch, too.

I think Firebird doesn't allow this, since you have to prepare and execute statements individually.

Though if you only do insert/update/delete you could group those statements within an execute block statement, but that can only return one result set.

To get a definitive answer be sure to ask this in the firebird-support mailing list.

这篇关于NHibernate与Firebird ...是否启用了这些功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆