Dav*_*New 8 entity-framework web-config azure azure-web-roles entity-framework-5
我正在将现有的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
}
Run Code Online (Sandbox Code Playgroud)
这总是会MyEntities在web.config.如何覆盖此构造函数以便我可以从ServiceConfiguration.*.cscfg文件中传入连接字符串?
我可以从这个类中派生出来,就像这样:
public class MyCloudEntities : MyEntities
{
public MyCloudEntities()
: base(CloudConfigurationManager.GetSetting("MyEntities"))
{ }
}
Run Code Online (Sandbox Code Playgroud)
但后来我必须改变MyEntities代码库中的每个实例,并且它不会阻止开发人员MyEntities在将来使用.
您可以更改Model.Context.tt文件,以便使用
CloudConfigurationManager.GetSetting("MyEntities")
Run Code Online (Sandbox Code Playgroud)
代替
"name=MyEntities"
Run Code Online (Sandbox Code Playgroud)
为MyEntities
因此,每次重新创建上下文时,您将始终进行更改.在这种情况下,您无需更改任何其他内容.
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |