我想在下一个项目中使用实体框架,但在寻找支持实体框架的 .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 数据库。
有什么想法吗?
据我目前所知,尚不支持(目前为止,但我相信不久的将来)将 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。