在Entity Framework中必须在类库中自动生成app.config吗?

时间:2018-03-19 20:23:21

标签: c# visual-studio entity-framework nuget app-config

我在Visual Studio中通过Entity Framework安装了NuGet Package Manager。在我安装此软件包的每个项目中,都出现了app.config文件,其外观完全如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    </configSections>
    <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
        <providers>
            <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
    </entityFramework>
    <connectionStrings>
        <add name="DatabaseContext" connectionString="data source=(LocalDb)\MSSQLLocalDB;initial catalog=Namespace.ContextName;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

我想知道这些信息是否仅在启动项目(以及单元测试项目)中是必需的。我可以从类库项目中删除app.config个文件,这些文件只使用DbContext吗?

1 个答案:

答案 0 :(得分:1)

是的,您可以从项目中删除它们,然后将其保留在启动项目中。但是您的主要项目也应该参考EF包。因此,当您调试或构建版本时,您的卫星dll将实际使用您的启动项目的app.config文件。

记住......当你通过nuget升级EF或其他软件包时,它会再次添加app.config文件。