我们使用NHibernate取得了Firebird后端的巨大成功。我的问题与Firebird支持的NHibernate中提供的功能有关。如果您对Firebird和NHibernate有任何专业知识,欢迎您提出意见。NHibernate与Firebird ...是否启用了这些功能?
Firebird是否支持“未来”查询?从我的阅读中可以看出,Firebird是少数不支持该功能的数据库之一。有没有人有一个解决方法,因为“未来”将是一个很好的功能使用。
Firebird是否支持NHibernate功能“prepare_sql”。出于某种原因,我无法让它在Firebird中工作,并不断收到关于参数大小不相等的警告(在Nhibernate Profiler中)。
Firebird是否支持批处理?在NHibernate映射中,我们指定了批处理,但是在profiler中看不到任何证据。
对于那些有兴趣的人,我们使用Fluent NHibernate来配置NHibernate。一切正常,我们对ORM有很大的控制权,但只需要澄清一下上述问题。
您的想法?
执行块可以返回行。每个“暂停”都会将当前的一组输出参数作为结果行返回。有点像迭代器方法在一些.net语言中工作。这样足够的输出参数和每条语句之后的暂停,并且应该有一个基础来为Firebird实现此功能。 – 2011-07-09 18:35:47
当然,我只是在想,使用“execute block”也不是一个非常优雅的解决方案,因为您需要声明输出参数,以适应块中不同语句的所有可能不同的结果行。有点像联合声明中匹配列类型的要求。但我同意,应该可以通过这种方式来实现它:) – magnoz 2011-07-14 16:34:35