Interbase .NET实体框架提供程序

时间:2011-07-05 20:57:51

标签: .net sql firebird entities interbase

我想将实体框架用于我的下一个项目,并且我在寻找支持实体框架的.NET interbase驱动程序时遇到了一些问题。我尝试从http://www.firebirdsql.org/en/net-provider/安装Firebird驱动程序,但在尝试通过实体数据模型向导建立连接时仍然遇到模糊错误,错误如下

"Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"

如果我不得不猜测,问题在于我正在尝试使用firebird驱动程序连接到基础数据库。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您没有指定Interbase版本。相信我,当我说非常重要时,因为Interbase已经存在了一段时间。

对于较新版本,此处已经有一个问题:Best way to connect to Interbase 7.1 using .NET C#

对于旧版本,您应该考虑转移到Firebird。 Firebird .NET提供程序将运行良好。

答案 1 :(得分:0)

我建议您仅将Firebird .NET驱动程序用于Firebird。

也许您可以查看为{Interbase和Firebird制作oledb驱动程序的IBProvider

答案 2 :(得分:0)

回答一个旧问题,但值得一提的是我相信:

据我目前所知,没有支持(但是,我相信它将在不久的将来推出)用于连接Interbase数据库和EF。但是,应该可以根据EF中可以找到here的指南编写您自己的提供者。我遇到了完全相同的问题,我通过编写用于Interbase XE7和EF 6(6.1.2)的驱动程序解决了这个问题。

要开始使用,您可能需要查看FireBird提供程序(它是开源的)并且已经在使用EF。如果您研究提供的代码,您可能有一个很好的触发器来为EF编写自己的Interbase提供程序。可以找到FireBirds EF .NET Provider的链接here

作为提示: 您需要查看Firebird驱动程序中的SQL生成器和清单,并将其与Interbase SQL语法进行比较。映射确实不同,但它只是一些小细节。使用条件编译符号GDS32编译Firebird驱动程序时,Firebird驱动程序将查找并加载Interbase提供的gds32.dll。