我在Interbase服务器上做了很多工作。我想使用NHibernate为它开发一个数据访问层,但是Interbase还没有现成的dialact。
有没有人知道,有没有一种NHibernate方言用于一般的anyone数据库工作,或者是否有任何现有的方言可以在Interbase上正常工作?
或者从另一方面来说,创造一种新的方言需要什么样的工作?
感谢您能提供的任何建议。
大卫
发布于 2010-07-16 04:18:21
您可以尝试使用GenericDialect。
无论如何,我建议您查看一下https://github.com/nhibernate/nhibernate-core/tree/master/src/NHibernate/Dialect上现有的方言,并为Interbase编写一种方言,然后与社区共享。这并不难。
发布于 2010-07-15 23:35:20
Firebird方言可能相当接近。从这个开始,并在必要时进行调整。
免责声明:我还没有尝试过。IB的ADO.NET提供商将有所不同,因此理论和实践可能会有所不同。但IB和Firebird的SQL语法与列表中的其他选项差别较小。
发布于 2014-03-30 12:42:16
我对这些答案中的任何一个都不满意,所以当我在两个项目之间有空闲的一天工作时,我自己尝试了一下。
Firebird方言完全可以正常工作。有一些东西(比如trim)不能很好地应用到interbase sql中。这些都可以简单地避免,因为使用ORM的好处远远超过了其他选择。
我们公司使用IBProvider驱动程序。不是免费的,但闪电般的速度,并且不会像以前使用的Data Direct驱动程序那样使我们的应用程序崩溃。IBProvider使用NHibernate默认支持的oledb驱动程序。
https://stackoverflow.com/questions/3256955
复制相似问题