C# 实体框架6.1.1和Npgsql 2.2.3:找不到兼容的实体框架数据库提供程序
我正在Visual Studio 2012更新4中使用EntityFramework 6.1.1和npgsql 2.2.3进行一个项目。为此,我使用提供的安装程序安装了npgsl,并安装了nuget包“Npgsql”和“Npgsql for Entity Framework”(当然还有“EntityFramework”本身) 过去一切都很好:我可以成功地访问我的数据库一段时间,直到有一天一切都“爆炸” 这是事件历史记录:C# 实体框架6.1.1和Npgsql 2.2.3:找不到兼容的实体框架数据库提供程序,c#,entity-framework,postgresql,visual-studio-2012,npgsql,C#,Entity Framework,Postgresql,Visual Studio 2012,Npgsql,我正在Visual Studio 2012更新4中使用EntityFramework 6.1.1和npgsql 2.2.3进行一个项目。为此,我使用提供的安装程序安装了npgsl,并安装了nuget包“Npgsql”和“Npgsql for Entity Framework”(当然还有“EntityFramework”本身) 过去一切都很好:我可以成功地访问我的数据库一段时间,直到有一天一切都“爆炸” 这是事件历史记录: 修复主要代码升级后的编译器错误我遇到以下错误消息: “无法加载npgs
- 修复主要代码升级后的编译器错误我遇到以下错误消息:
- “无法加载npgsl.EntityFrameworkEgacy assmbly”(我既没有安装也没有引用此程序集)
- 在“xxx”引用了我自己的所有项目程序集的情况下,出现了一大堆“找不到元数据文件“xxx”错误
- 我已经找到了解决“元数据文件”问题的可能方法,比如删除.suo文件、检查项目构建顺序等等。他们都没有解决这个问题。所以我删除了 项目中的.edmx文件(以及所有自动生成的数据库访问文件)。这修复了“元数据文件”问题——当然引入了“未解决的符号”
- 我试图在我的项目中添加一个新的“ADO.NET实体数据模型”,以恢复对数据库的访问。仅限连接列表中不再列出的所有PostgreSQL数据库连接。 此外,我无法创建新的PostgreSQL连接,因为未列出此数据源。虽然这并不影响内部的全局“数据连接”对话框 VisualStudio:在这里,我仍然可以访问我的PostgreSQL连接
- 我使用安装程序重新安装了npgsql。现在我可以创建一个新的“ADO.NET实体数据模型”并连接到我的PostgreSQL数据库。但这一次我收到了错误信息: “您的项目引用了最新版本的Entity Framework;但是,找不到与此版本兼容的Entity Framework数据库提供程序。”。这是 我现在被困在哪里了
- 该项目涉及以下组件:
- 适用于.NET 4.5的EntityFramework 6.1.1
- 适用于.NET 4.5的EntityFramework.SqlServer 6.1.1
- 用于.NET 4.5的Npgsql 2.2.3
- 适用于.NET 4.5的Npgsql.EntityFramework 2.2.3
- 这是我的app.config:
- 我的machine.config中有这个(32位和64位):
当然,在添加新模型之前,我尝试重建我的解决方案。但这没用
是否有我可能遗漏的其他配置问题
有谁能解释一下为什么会发生这些事?看来你们的DBProviderFactorys有点错了。。。在示例中,您的web.config中也提到了EF 6.0.0.0,但您说您已经安装并正在使用EF 6.1.1?我只是按照我在这里找到的说明进行操作:这些首先对我有用。app.config和machine.cfg中的所有条目都是由npgsel安装程序或nuget软件包自动生成的。尽管如此,我还是尝试指定EF 6.1.1.0,但没有成功。我还没有尝试从machine.config中删除强程序集名称。但我怀疑这是否会改善这种情况,因为我的答案被删除了:重启后一切正常。因此,配置没有问题。