Asp.net core 脚手架搭建后将数据库更改为本地数据库

Asp.net core 脚手架搭建后将数据库更改为本地数据库,asp.net-core,asp.net-core-mvc,scaffolding,localdb,mdf,Asp.net Core,Asp.net Core Mvc,Scaffolding,Localdb,Mdf,我根据教程创建了脚手架项目 有书面的 For local development, the ASP.NET Core configuration system reads the connection string from the appsettings.json file. 将本地数据库*.mdf文件更改为全局数据库(例如网络上安装的MSSQL服务器)的正确步骤是什么?脚手架与数据库是本地还是远程无关,当然前提是它们共享相同的模式。如果远程数据库模式不同,则只需重新标记即可,这是任何模式更

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

有书面的

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

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

脚手架与数据库是本地还是远程无关,当然前提是它们共享相同的模式。如果远程数据库模式不同,则只需重新标记即可,这是任何模式更改都需要执行的操作

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

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


然而,连接字符串将包含敏感信息user/pass,因此它是一个秘密。因此,您不应该将任何真实的数据库信息存储在JSON之类的东西中,因为JSON没有加密,将提交给源代码控制。相反,您应该使用应用程序代码外部的配置源,例如服务器上的环境变量,最好使用数据在静止时加密的配置源,例如Azure密钥库。在开发中,您还可以使用用户机密。它只是另一个JSON源代码,所以仍然没有加密。但是,它存储在您的项目之外,因此至少不会在您的源代码管理中结束。

您所说的全局是指不在您正在开发的同一台pc中的远程计算机?@AntoniosKatopodis不在同一台pc中。与本地数据库文件mdf扩展名相反。e、 g.数据库在MSSQL Server或Mysql或PostgreSql中,这意味着我将更改连接字符串,然后运行迁移,并根据连接字符串指向的位置从模型中创建数据库?您可以为MS SQL server创建一个连接字符串的通用示例格式吗?如果您正在构建数据库,这意味着您有一个现有数据库,在这种情况下,您不应该生成迁移。如果需要更改数据库架构,请手动或通过SQL脚本在数据库中进行更改,然后从现有数据库中重新标记实体类/上下文。默认连接字符串local的格式已经是SQL Server的格式。LocalDB是一个SQL Server Express实例。我有一个模型,架子工根据该模型创建了一个数据库mdf文件,现在我想在MS SQL Server中创建mdf文件中的相同表。