Interbase .NET 实体框架提供商

问题描述 投票:0回答:3

我想在下一个项目中使用实体框架,但在寻找支持实体框架的 .NET 数据库间驱动程序时遇到一些问题。我尝试从 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 驱动程序连接到 interbase 数据库。

有什么想法吗?

sql .net entity-framework interbase
3个回答
0
投票

您没有指定您的 Interbase 版本。请相信我,“真的很重要”,因为 Interbase 已经存在了一段时间了。 对于较新的版本,SO 中已经存在一个问题:

Best way to connect to Interbase 7.1 using .NET C#

对于旧版本,您应该考虑迁移到 Firebird。那么 Firebird .NET 提供程序就可以正常工作了。


0
投票

也许你可以看看

IBProvider

,他们为 Interbase 和 Firebird 制作了 oledb 驱动程序。


0
投票

据我目前所知,尚不支持(目前为止,但我相信不久的将来)将 Interbase 数据库与 EF 连接。但是,应该可以根据 EF 的指南编写您自己的提供程序,可以在

here

找到该指南。我遇到了完全相同的问题,我通过编写一个用于 Interbase XE7 和 EF 6 (6.1.2) 的驱动程序解决了这个问题。 首先,您可能需要查看 FireBird 提供程序(它是开源的)并且已经在使用 EF。如果您研究了提供的代码,您可能会很好地触发为 EF 编写自己的 Interbase 提供程序。可以在

此处

找到 FireBirds EF .NET Provider 的链接

温馨提示:

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

© www.soinside.com 2019 - 2024. All rights reserved.