是的,还有一个关于提供者清单令牌的问题。不幸的是,之前的所有 22 个问题对解决我的问题都没有用。我使用 MVC4 + Code First + Sql Express 开发简单的 Web 应用程序。
这是我的上下文后代:
public class MCQContext : DbContext
{
public MCQContext()
: base("name=ApplicationConnection")
{
}
...............
}
在这里 - 与问题相关的 web.config 的一部分:
<configuration>
<configSections>
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
requirePermission="false" />
</configSections>
<connectionStrings>
<add name="ApplicationConnection"
connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="name=ApplicationConnection" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
因此,如您所见,正确的连接字符串传递给了上下文类的基类(如果我将连接字符串重命名为“MCQContext”并且不将任何内容传递给父上下文类,则会出现相同的错误)。
我不知道如何解决它。如果我创建绝对空的 MVC4 应用程序、删除所有包(我更喜欢手动指定所需的程序集并且不使用 NuGet)并修复引用(包括对 sqlserver express 的引用),则会重现此行为。