2012-05-10 74 views
1

如果添加控制器,腳手架和得到一個錯誤。似乎與我的連接字符串有關。錯誤添加控制器腳手架

"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契約?

回答

2

這恐怕不是一個全面的答案,因爲我不完全理解的原因,但是當我遇到了同樣的問題,這種解決方法讓我剛上車的事情,並停止抓我的頭:

  1. 進入Web.config並註釋掉包含DatabaseInitializerForType鍵的行(快捷鍵:將光標放在行上,然後按Ctrl-K和Ctrl-C)。
  2. 生成項目(按Ctrl-Shift-B鍵)
  3. 添加您的控制器腳手架是正常的。
  4. 取消註釋Web.config中的初始值設定鍵(CTRL-K,CTRL-U)。

是的,這是一個隨機刺入黑暗的方法,但我會留在這裏,以防止其他人在Google上搜索相同的問題!

相關問題