我们正在使用一个使用自定义DbConfiguration类的EF6应用程序。到目前为止,我们一直在配置系统以使用我们的DbConfiguration,而不是通过使用DbConfigurationTypeAttribute修饰每个DbContext类来创建默认值。
我们今天在QA网站上安装了一个实例,并且收到了HTTP 500错误。在关闭CustomErrors之后,我们可以看到细节,我们看到了:
' DbConfigurator'必须在应用程序启动时设置 在使用任何Entity Framework功能之前或必须注册 应用程序的配置文件。
这使我感到困惑,因为据微软称,DbConfigurationTypeAttributes应该有效:
他们确实在我们的开发机器上工作。而且我绝对肯定每个DbContext对象都是如此装饰。
我不知道还能做什么,我将codeConfigurationType属性添加到web.config中的entityFramework元素,一切运行正常。
然后我尝试从代码中删除DbConfigurationTypeAttributes,认为在多个位置定义它是一个坏主意。我的所有单元测试都失败了 - 他们无法访问web.config。至少那部分是有道理的。
但其余部分让我感到困惑。为什么在IIS7中运行时DbConfigurationTypeAttributes不起作用?