为什么<entityframework>和<configsections>标签出现在我的web.config文件中?

时间:2019-03-14 20:04:23

标签: asp.net asp.net-mvc entity-framework web-config

为什么此代码出现在我的web.config文件中?当我创建ADO.NET实体数据模型时,它不存在,那么什么事件触发了此代码的生成?

  <configSections>
    <section name="entityFramework"
      type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      requirePermission="false"/>
  </configSections>

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
  </entityFramework>

1 个答案:

答案 0 :(得分:1)

实体框架软件包会在多个实例中自动安装。例如,当您使用现成的模板创建项目时,例如启用了“个人身份验证”的ASP.Net MVC项目。因为在这种情况下,应用程序将与EF捆绑在一起,以处理所有与身份验证相关的数据库交互。 其次,如果添加Model类和带支架的控制器以使用Entity Framework生成视图(“带有视图的MVC 5 Controller,使用Entity Framework”)。在这种情况下,如果尚未配置实体框架,则脚手架机制将完成该工作。结果,我们在项目的web.config和DLL引用中看到了所有与EF相关的配置。当我们开始在Visual Studio中处理这些新项目模板时,这会引起一点困惑。