一部のUserControl、ユーザーコントロールにEntitymodelオブジェクト(myDBContainer db = new myDBContainer()
)があるマルチプロジェクトアプリケーションを構築しています。フォームにユーザーコントロールをドロップすると、次のデザイナーエラーが発生します。
指定された接続が構成に見つからないか、entityclientプロバイダーで使用するためのものではありません
一部のUserControl、ユーザーコントロールにEntitymodelオブジェクト(myDBContainer db = new myDBContainer()
)があるマルチプロジェクトアプリケーションを構築しています。フォームにユーザーコントロールをドロップすると、次のデザイナーエラーが発生します。
指定された接続が構成に見つからないか、entityclientプロバイダーで使用するためのものではありません
これは、EntityFramework接続文字列がプロジェクトのWeb.configまたはApp.configに見つからないことを意味します。この接続文字列は、DB接続文字列と同じではないことに注意してください。
さて、これに対する解決策を見つけましたが、それが最適かどうかはわかりません。設定ファイルを介してapp.configに接続文字列を配置し、EFモデル設計者がこの接続を次のように読み取るようにコンストラクターで名前付き接続を変更します
public InvDB() : base(Properties.Settings.Default.InvDB, "InvDB")
ただし、このソリューションでは、EFデザイナーを開くたびにこの変更を行う必要がありますが、今のところは問題ありません。