1

エンティティフレームワーク5を使用するWindowsフォームアプリケーション(.net 4.0)で問題が発生しています。

次のような形式のクラスフィールドとしてDbContextインスタンスがあります。

protected MascoteAquariumEF model = new MascoteAquariumEF("name=MascoteAquariumEF");

これが私の接続文字列です:

<connectionStrings>
   <add name="MascoteAquariumEF" 
     connectionString="metadata=res://*/MascoteAquariumDBContext.csdl|res://*/MascoteAquariumDBContext.ssdl|res://*/MascoteAquariumDBContext.msl;provider=System.Data.SqlClient;provider connection string='data source=vm_visual_stdo\sqlexpress2008;initial catalog=MascoteAquarium;integrated security=True;multipleactiveresultsets=True;App=EntityFramework'" 
     providerName="System.Data.EntityClient" />
</connectionStrings>

そしてデザイナーで私はこのエラーを見ています:フォームは実際には設計されていません....しかしプロジェクトを実行しても大丈夫です(エラーなし)

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

何か案が??

4

1 に答える 1

1

名前の値のみを渡すようにしてください:

protected MascoteAquariumEF model = new MascoteAquariumEF("MascoteAquariumEF");

また、コンテキストをインスタンス化する前に、デザイナーでフォームかどうかを確認することをお勧めします。

protected MascoteAquariumEF model;

public YourForm()
{
    InitializeComponent();

    if (DesignMode)
        return; // you don't need to create context

    model = new MascoteAquariumEF("MascoteAquariumEF");
}
于 2012-12-15T14:14:56.823 に答える