C# 引用EntityFramework.dll会在VS2010中导致运行时错误
[更新] 我的解决方案中有两个项目。第一个是我的DAL项目(类库),第二个是Windows项目(UI),我的DAL项目参考EF 4.3.1,工作正常, 最近,我在VS2010中使用包管理器控制台,通过C# 引用EntityFramework.dll会在VS2010中导致运行时错误,c#,visual-studio-2010,entity-framework,ef-code-first,runtime-error,C#,Visual Studio 2010,Entity Framework,Ef Code First,Runtime Error,[更新] 我的解决方案中有两个项目。第一个是我的DAL项目(类库),第二个是Windows项目(UI),我的DAL项目参考EF 4.3.1,工作正常, 最近,我在VS2010中使用包管理器控制台,通过更新包EntityFramework命令,将我的DAL项目引用到EF6,在中应用建议的更改后,现在我的DAL项目的app.config包括以下行: <configSections> <section name="entityFramework" type="System.D
更新包EntityFramework
命令,将我的DAL项目引用到EF6
,在中应用建议的更改后,现在我的DAL项目的app.config包括以下行:
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
我得到了这个错误:
No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.Odbc'. Make sure the provider is registered in the 'entityFramework' section of the application config file
有人知道问题出在哪里吗?听起来像是配置问题……您的
web.config
文件中是否有以下条目
<entity-framework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entity-framework>
您的特定配置条目可能需要一些附加/不同的条目/属性,但您可以在此处阅读有关EF6配置的更多信息:
听起来像是配置问题……您的
web.config
文件中是否有以下条目
<entity-framework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entity-framework>
您的特定配置条目可能需要一些附加/不同的条目/属性,但您可以在此处阅读有关EF6配置的更多信息:
由于DAL项目是一个类库,它将使用使用它的应用程序的配置 尝试将实体框架Nuget包添加到UI项目中。它会将所需的设置添加到配置中 更新
此问题也可能是由分析工具(如Spile或EF Profiler)引起的。如果您正在使用其中任何一个,请尝试禁用它们以查看是否可以解决问题。由于DAL项目是一个类库,它将使用使用它的应用程序的配置 尝试将实体框架Nuget包添加到UI项目中。它会将所需的设置添加到配置中 更新
此问题也可能是由分析工具(如Spile或EF Profiler)引起的。如果您正在使用其中任何一种,请尝试禁用它们,看看它是否能解决问题。您是否正在使用任何类型的探查器,如EF profiler或Spile?似乎它们会导致EF出现问题-多亏了snacky,问题解决了,我使用了EF Profiler,当禁用它时,问题解决了。请更新你的帖子。你知道我如何使用EF profiler吗?没问题,很乐意帮助。我已按要求更新了答案。它看起来像一个bug,所以你应该联系休眠犀牛的支持人员-我在安装EF6后有了这个bug,删除了Spile并修复了它,谢谢Snackyar你是否使用了任何类型的探查器,比如EF探查器或Spile?似乎它们会导致EF出现问题-多亏了snacky,问题解决了,我使用了EF Profiler,当禁用它时,问题解决了。请更新你的帖子。你知道我如何使用EF profiler吗?没问题,很乐意帮助。我已按要求更新了答案。它看起来像一个bug,所以你可能应该联系休眠犀牛的支持人员-我在安装EF6之后有了这个bug,删除了它,修复了它,谢谢snacky
<entity-framework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entity-framework>