在推送代码时,我使用Azure和插槽变量在登台和生产数据库之间切换。这两个数据库将始终相同。
这是我如何尝试在两者之间切换的简化设置。
的Web.config
28,000
Constants.cs
<connectionStrings>
<add name=“StagingDatabase” connectionString=“YYY” />
<add name="ProductionDatabase” connectionString=“XXX” />
</connectionStrings>
问题在于Code.cs,因为我正在返回DbContext,Entity Framework不知道数据库中的任何表,并且不会编译引用dbContext没有Table的定义。
Code.cs
public static DbContext getDatabase()
{
if (@Environment.GetEnvironmentVariable("isDatabaseStaging"))
{
return new StagingDatabase();
}
else
{
return new ProductionDatabase();
}
}
我还应该注意,我的数据库都有单独的.edmx文件,如果我能让它们使用同一个文件,它可能会正常工作吗?