Asp.net 阻止Web.Config中的实体框架继承

Asp.net 阻止Web.Config中的实体框架继承,asp.net,asp.net-mvc,entity-framework,inheritance,iis,Asp.net,Asp.net Mvc,Entity Framework,Inheritance,Iis,我有一个子MVC应用程序在IIS8.5中的另一个父MVC应用程序下运行 正如预期的那样,子应用程序继承父级Web.Config设置 我遇到的问题是,子应用程序继承了部分,我需要阻止它这样做。我如何做到这一点 我曾经问过一个非常类似的问题,但没有一个能阻止继承 到目前为止,我已尝试: i隔离子应用程序的应用程序池 将目录更改为虚拟目录 添加 在applicationHost文件中 将enableConfigurationOverride=“false”添加到应用程序池 applicationHo

我有一个子MVC应用程序在IIS8.5中的另一个父MVC应用程序下运行

正如预期的那样,子应用程序继承父级
Web.Config
设置

我遇到的问题是,子应用程序继承了
部分,我需要阻止它这样做。我如何做到这一点

我曾经问过一个非常类似的问题,但没有一个能阻止继承

到目前为止,我已尝试:

  • i隔离子应用程序的应用程序池
  • 将目录更改为虚拟目录
  • 添加
    applicationHost
    文件中
  • enableConfigurationOverride=“false”
    添加到应用程序池
    applicationHost
    文件中的配置文件
更新
我在代码优先迁移方面特别有问题。以下
继承自父
Web.config
文件,但子应用程序中不需要:

<context type="SomeApp.Models.DataContext, SomeApp">
    <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[SomeApp.Models.DataContext, SomeApp], [SomeApp.Migrations.Configuration, SomeApp]], EntityFramework, PublicKeyToken=someToken">
        <parameters>
            <parameter value="SomeConnection_DatabasePublish" />
        </parameters>
    </databaseInitializer>
</context>


主要问题是,此上下文依赖于不在子应用程序中的dll。

在父应用程序的
web.config
文件中,将不希望继承的元素包装在
位置
元素中,并将
inheritInChildApplications
设置为
false

<location inheritInChildApplications="false">
    <context type="SomeApp.Models.DataContext, SomeApp">
        <databaseInitializer type="...">
            <parameters>
                <parameter value="SomeConnection_DatabasePublish" />
            </parameters>
        </databaseInitializer>
    </context>
</location>


您可以尝试以编程方式重写配置,无论EF从配置中读取什么,只需添加重置所有配置的代码即可。如果没有关于实际设置会给您带来麻烦的更多详细信息,则无法包含任何特定的代码片段。@WiktorZychla谢谢,我已更新了问题以演示继承的
。您是否尝试将其改写为其他内容,比如一个空的迁移列表,或者甚至是另一个初始值设定项?@WiktorZychla,你是指应用程序本身,而不是通过IIS?感谢您的建议,当父应用程序发布时会自动生成上下文,因此我无法控制它