脚手架移至本地数据库后更改数据库

时间:2019-08-06 16:08:13

标签: asp.net-core asp.net-core-mvc scaffolding localdb mdf

我根据this教程创建了脚手架项目

有文字

For local development, the ASP.NET Core configuration system reads the connection string from the appsettings.json file.

将此本地数据库(* .mdf文件)更改为“全局”数据库(例如,网络上安装的MSSQL服务器)的正确程序是什么?

1 个答案:

答案 0 :(得分:1)

脚手架与数据库是本地数据库还是远程数据库无关,当然前提是它们共享相同的架构。如果远程数据库架构不同,则只需要重新折叠,这就是更改架构所需的操作。

您真正拥有的只是一个连接字符串。连接字符串恰好指向本地数据库。要指向远程数据库,只需将连接字符串更改为该远程数据库的信息。就您的应用而言,本地或远程意味着什么。只是连接到您告诉它要连接的任何东西。

默认情况下,连接字符串存在于appsettings.json中。要更改它,您可以直接在appsettings.json中对其进行更改,也可以使用其他配置源(例如,特定于环境的JSON(即appsettings.Production.json),环境变量,命令行参数等覆盖它。

但是,连接字符串将包含敏感信息(用户/密码),因此这是一个秘密。因此,您不应将任何真实的数据库信息存储在JSON之类的文件中,该文件未经加密,将被提交给源代码管理。相反,您应该使用应用程序代码外部的配置源(例如服务器上的环境变量),最好使用静态加密数据的源(例如Azure Key Vault)。在开发中,您还可以使用用户密码。它只是另一个JSON源,因此仍未加密。但是,它存储在项目外部,因此至少不会最终出现在源代码管理中。