实体框架 – Azure Web角色中的实体框架DbContext

我正在将现有的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
}

这将始终在web.config中查找MyEntities.如何覆盖此构造函数,以便我可以从ServiceConfiguration.*.cscfg文件传入连接字符串?

我可以从这个类派生出来,就像这样:

public class MyCloudEntities : MyEntities
{
    public MyCloudEntities()
        : base(CloudConfigurationManager.GetSetting("MyEntities"))
    { }
}

但是我必须在代码库中更改MyEntities的每个实例,并且它不会阻止开发人员在将来使用MyEntities.

解决方法

您可以更改Model.Context.tt文件,以便使用
CloudConfigurationManager.GetSetting("MyEntities")

代替

"name=MyEntities"

对于MyEntities

因此,每次重新创建上下文时,您将始终进行更改.在这种情况下,您无需更改任何其他内容.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些