尝试添加带有脚手架的Controller并收到错误。似乎与我的连接字符串有关。
"unable to retrieve metadata for DOTNETMEMBER.Song. Failed to set database initializer type of type DOTNET.DataContextInitializer, DOTNETMEMBER' specified in the application configuration. Entries should be in the form of 'key=DatabaseInitializerForType MyNamespace.MydbContextClass, MyAssembly'.
初始化类必须具有无参数构造函数。有关详细信息,请参阅内部异常。
这是我的连接字符串
<connectionStrings>
<add name="DataContext"
connectionString="Data Source=|DataDirectory|RTDOTNETMEMBER.sdf"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<!--Used to initialize the database-->
<add key="DatabaseInitializerForType DOTNET.DataContext, DOTNETMEMBER" value="DOTNET.DataContextInitializer, DOTNETMEMBER" />
</appSettings>
是因为SQL Compact吗?
答案 0 :(得分:2)
我担心这不是一个全面的答案,因为我不完全理解其中的原因,但当我遇到同样的问题时,这种解决方法让我可以继续做下去并停止挠我的头:
DatabaseInitializerForType
键的行(快捷键:将光标放在行上,然后按ctrl-K和ctrl-C)。是的,它是一种随意刺入黑暗的方法,但我会把它留在这里,以防它帮助其他人搜索同样的问题!