Entity Framework Code First场景中ApplicationServices连接字符串的用途是什么?

Seb*_*n K 7 .net c# entity-framework connection-string

无论何时使用EF代码创建应用程序,您都可以看到添加了以下web.config键:

<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

您可以很容易地看到它不包含特定于应用程序的信息.更改这些值不会影响应用程序的运行方式,因此我认为它必定是某种不必要的EF工件,可能是设计人员需要的.但是,如果完全删除此键,应用程序将在启动时抛出ConfigurationError.这把钥匙的真正目的是什么?

Tie*_* T. 6

您引用的连接字符串:

<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

与Entity Framework无关.它是所有非空ASP.NET项目(WebForms/WebPages和MVC框架)的模板的一部分.它用于连接到驻留在您的App_Data文件夹中的嵌入式数据库,并允许您使用ASP.NET提供程序模型而无需SQL Server实例.如果您不确定,请查看connectionStringMembership部分的默认值:

<membership>
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
         enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
         maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
         applicationName="/" />
  </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)