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

标签 c# .net 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" />

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

最佳答案

您引用的连接字符串:

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

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

<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>

关于c# - Entity Framework Code First 场景中 ApplicationServices 连接字符串的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14088179/

相关文章:

.net - 如何在 WCF for Exchange Web Services 中绕过 TLS/SSL 认证验证

c# - 数据模型未显示在 HttpResponseMessage 中

.net - 将敏感信息放入 Web.config 文件中是一种不好的做法吗?

c# - 在 SQL Server 上筛选 Entity Framework 结果

c# - Entity Framework 异常已被调用的目标抛出

c# - 为什么 EF 在 FirstOrDefault 调用 (EF6) 后没有从数据库返回包含新数据的实体?

c# - 如何将仅限 XAML 的资源放在 DLL(引用)文件中以供 WPF 应用程序使用?

c# - "404"用于 WCF Web 服务的 PUT 方法?

c# - 将 60mb XML 文件导入 SQL

c# - 从 DataRow 单元格解析 int