C# 引用EntityFramework.dll会在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

[更新]

我的解决方案中有两个项目。第一个是我的DAL项目(类库),第二个是Windows项目(UI),我的DAL项目参考EF 4.3.1,工作正常, 最近,我在VS2010中使用包管理器控制台,通过
更新包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>