Entity Framework 6 / Visual Studio 2013 Prof 中的 Firebird 数据库提供程序兼容性问题

Entity Framework 6 / Firebird database provider compatibility issue in Visual Studio 2013 Prof

我在 Windows 7-x64 上使用 Visual Studio 2013 Professional 和 .Net 4.5。我安装了 Firebird 2.5.4-x64。

我知道其他人可以将 Firebird 与 Entity Framework 6 一起使用,我通过阅读大量博客和 Whosebug 帖子自行解决了几个问题。但是我已经尝试了我能想到的一切,但我完全被困住了。我想在我完全放弃使用 Firebird 之前,我会看看是否有人可以帮助我找出我做错了什么。

似乎有很多关于如何在 visual studio 中配置 firebird 的过时信息,我已经尝试了很多变体,但这是我认为正确的过程:

如果我不安装 EntityFramework Nuget 包,则会启用一个 EF 5.0 选项,并且在使用 5.0 时不会出现此错误。 (但我真的很想改用 6.x!)

有谁知道我怎样才能克服这个错误?还有什么我可以看或做的事情来弄清楚吗?感谢您的帮助!

您在已注册提供商的配置中缺少 entityFramework 部分。安装 EntityFramework.Firebird 时应添加设置。

<entityFramework>
    <defaultConnectionFactory type="FirebirdSql.Data.EntityFramework6.FbConnectionFactory, EntityFramework.Firebird" />
    <providers>
        <provider invariantName="FirebirdSql.Data.FirebirdClient" type="FirebirdSql.Data.EntityFramework6.FbProviderServices, EntityFramework.Firebird" />
        <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>

可以看到全App.confighere.

还有repository might give you head start, although it's just result of basically installing NuGet packages. More details here.

哇!我终于明白是怎么回事了。我使用 Manage NuGet Packages... 来安装软件包,似乎所有安装都没有问题。我正在学习另一个教程,该教程让我使用包管理器控制台,但出现错误,因为我的项目位于网络共享上。所以,我想知道 firebird 的东西是否也有类似的问题。

果然,当我在控制台运行 install-package entityframework.firebird时,我看到了错误!这可以解释为什么我的 app.config 文件没有得到更新。现在 an Entity Framework database provider compatible with this version could not be found 消息完全有意义。太糟糕了 Manage NuGet Packages... 当出现问题时不会弹出错误消息!那会为我节省大量时间。