Entity Framework 中的连接字符串
Connection strings in Entity Framework
我正在使用 Entity Framework.
在 ASP.NET 中引用 2 个数据库
在我的 web.config
文件中,我可以看到 2 个数据库的连接字符串:
<connectionStrings>
<add name="RContext"
connectionString="metadata=res://*/Models.RModel.csdl|res://*/Models.RModel.ssdl|res://*/Models.RModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\SQLEXPRESS;initial catalog=RStreamline;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
<add name="CEntities"
connectionString="metadata=res://*/Models.CModel.csdl|res://*/Models.CModel.ssdl|res://*/Models.CModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\SQLEXPRESS;initial catalog=RStreamline;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
我能否以某种方式实现备用连接字符串,其中数据源指的是发布的产品服务器?
这通常用 web.config transforms 处理。
在您的项目中,您将拥有:
- web.config
- web.Release.config
例如,在您的 web.Release.config 转换中,您会有这样的内容:
<?xml version="1.0"?>
<configuration xmlns:xdt="https://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="RContext"
connectionString="RContext-Prod-Connection-String"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="CEntities"
connectionString="CEntities-Prod-Connection-String"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
您会注意到 xdt:Transform="SetAttributes" xdt:Locator="Match(name)"
位,它表示,在主要 web.config 中按名称查找 connectionString 并将其属性替换为此处定义的属性。
这将在您发布应用程序时自动发生。
我正在使用 Entity Framework.
在 ASP.NET 中引用 2 个数据库在我的 web.config
文件中,我可以看到 2 个数据库的连接字符串:
<connectionStrings>
<add name="RContext"
connectionString="metadata=res://*/Models.RModel.csdl|res://*/Models.RModel.ssdl|res://*/Models.RModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\SQLEXPRESS;initial catalog=RStreamline;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
<add name="CEntities"
connectionString="metadata=res://*/Models.CModel.csdl|res://*/Models.CModel.ssdl|res://*/Models.CModel.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\SQLEXPRESS;initial catalog=RStreamline;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
我能否以某种方式实现备用连接字符串,其中数据源指的是发布的产品服务器?
这通常用 web.config transforms 处理。
在您的项目中,您将拥有:
- web.config
- web.Release.config
例如,在您的 web.Release.config 转换中,您会有这样的内容:
<?xml version="1.0"?>
<configuration xmlns:xdt="https://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="RContext"
connectionString="RContext-Prod-Connection-String"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="CEntities"
connectionString="CEntities-Prod-Connection-String"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
您会注意到 xdt:Transform="SetAttributes" xdt:Locator="Match(name)"
位,它表示,在主要 web.config 中按名称查找 connectionString 并将其属性替换为此处定义的属性。
这将在您发布应用程序时自动发生。