既存の Web アプリケーション (Entity Framework 5 を使用) を Azure Web ロールに移行しています。
データベース接続文字列を からファイルに移動しweb.config
ていServiceConfiguration.*.cscfg
ます。
問題は、自動生成され Model.Context.cs
たファイルで、エンティティ クラスが次のように定義されていることです。
public partial class MyEntities : DbContext
{
public MyEntities()
: base("name=MyEntities")
{ }
// DbSets, etc
}
これは常に を検索しMyEntities
ますweb.config
。ファイルから接続文字列を渡すことができるように、このコンストラクターをオーバーライドするにはどうすればよいServiceConfiguration.*.cscfg
ですか?
次のように、このクラスから派生できます。
public class MyCloudEntities : MyEntities
{
public MyCloudEntities()
: base(CloudConfigurationManager.GetSetting("MyEntities"))
{ }
}
しかし、その後、コード ベース内のすべてのインスタンス化を変更する必要があり、開発者が将来MyEntities
使用するのを妨げることはありません。MyEntities