Interbase的NHibernate方言

时间:2010-07-15 15:12:21

标签: sql nhibernate interbase

我在Interbase服务器上做了很多工作。我想使用NHibernate为它开发一个数据访问层,但Interbase没有现成的dialact。

有没有人知道,是否有一个NHibernate方言用于通用的ANSI专用数据库工作,或者任何现有的方言是否适用于Interbase?

或者另一方面,创造一种新方言需要做哪些工作?

感谢您提供任何建议。

大卫

3 个答案:

答案 0 :(得分:3)

您可以尝试GenericDialect

无论如何,我建议您查看https://github.com/nhibernate/nhibernate-core/tree/master/src/NHibernate/Dialect处的现有方言,并为Interbase写一个方言,然后您可以与社区分享。这并不难。

答案 1 :(得分:0)

Firebird方言可能相当接近。从那开始,并在必要时进行调整。

免责声明:我没试过这个。对于IB,ADO.NET提供商会有所不同,因此理论和实践可能会有所不同。但是IB和Firebird的SQL语法与列表中的其他选项没有什么不同。

答案 2 :(得分:0)

我对这些答案都不满意所以当我在项目之间有一个闲暇的工作日时,我自己给了它。

Firebird方言完全正常。有一些东西(如修剪)不能很好地进入interbase sql。这些可以简单地避免,因为使用ORM的好处大大超过了替代品。

我们在公司使用IBProvider驱动程序。不是免费的,但闪电般快,不会像以前使用的Data Direct驱动程序那样崩溃我们的应用程序。 IBProvider使用oledb驱动程序,NHibernate默认支持该驱动程序。