我昨天将我的电脑从 Windows 7“升级”到了 Windows 8,所以现在我正在使用 Visual Studio 2012,并打开我的 Visual Studio 2010 项目。
这个项目一直运行良好,但在 Visual Studio 2012 中不起作用。我遇到了一些奇怪的错误,但我修复了这些错误。现在,我遇到了一个无法修复且在 Google 上找不到任何相关信息的错误:
我得到这个例外:
未能将 Database.DefaultConnectionFactory 设置为应用程序配置中指定的“System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework”类型的实例。有关详细信息,请参阅内部异常。
带有以下内部异常:
找不到类型“System.Data.Entity.Infrastructure.SqlConnectionFactory”的构造函数。
我的 Web.Config 看起来很标准:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-WebUI-201253192737;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
SqlConnectionFactory 类存在,它有 2 个构造函数(一个无参数,一个接受连接字符串)。我通过在我的 C# 代码中创建一个 SqlConnectionFactory 来测试它。
我已经删除了实体框架并重新安装了它,但这并没有解决问题。
我正在使用 Entity Framework 5.0 RC(如前所述在 VS2010 中运行良好)与 SQL Server 2012 + 工具和 IIS express。