Overlord 的迁移示例是正确的。我最后的注释有点大,所以这里是对 web.config 文件的必要更改。本地驱动器上的旧方法是指定
Data Source=".\[InstanceName]
但可能不适用于较新的接口,因此如果您向前迁移,请将 [.\instance] 替换为 [ComputerName\instance]。这是 Visual Studio Pro 2017、SQL Server 2014 和实体框架 6.0。
第一次更新连接字符串。用连接到数据库所需的信息替换括号中的项目。
<connectionStrings>
<add name="DefaultConnection"
connectionString="Initial Catalog=[DatabaseName];Integrated Security=True;User ID=[SQLASPNETUserName];Password=[UserPassword];"
providerName="System.Data.SqlClient" />
</connectionStrings>
下一步更新实体信息。用于 SQL Server 的 [InstanceName] 可以从 [SQL Server Mgmt] 控制台 - [Server Properties] - [Advanced] - [Filestream Share Name] 中找到,默认为 [MSSQLSERVER]。
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="[ServerName]\[InstanceName]"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
对于云或其他多服务器数据库迁移,还要查看 web.config 中的 [sessionState] 设置并将 [InProc] 替换为 [Custom]。 [sessionState] 位于 [/roleManager] 和 [/system.web] 之间
1 db 服务器的默认值
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider"
type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
connectionStringName="DefaultConnection"/>
</providers>
</sessionState>
& 多服务器或云环境的替代品
<sessionState mode="Custom" customProvider="DefaultSessionProvider">