【发布时间】:2025-12-05 20:20:01
【问题描述】:
我使用MVC 模式(按照this 教程)创建了一个ASP.NET Core Web 应用程序,并将其连接到现在填充了一些数据的本地数据库。我有两个问题,如果有人帮助我理解并回答他们:
1) 我的默认连接字符串设置如下:
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-MyAppName;Trusted_Connection=True;MultipleActiveResultSets=true"
}
是否可以仅通过更改此连接字符串中的名称和路径,在别处使用当前存储在其中的数据(例如,作为备份)重新创建完全相同的数据库?
我在这里找到了本地数据库:
C:\Users\my-name\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB
但是当我尝试复制.mdf 文件来备份数据库时,我收到一条错误消息,提示该文件已打开且无法复制。它在什么地方打开?我怎样才能简单地备份 db 文件?
2) 创建custom controller 后,我注意到我的Personmodel 提供的所有属性都用于自动生成的代码中;例如就我而言:
public async Task<IActionResult> Create([Bind("Birthday,ID,Username,EmailAddress")] PersonModel personModel)
我认为这意味着如果我们更改模型类中的代码,我们需要相应地搜索并影响更改,但后来我意识到如果我想继续使用自动生成的代码,我必须做所有和我第一次生成时的步骤一样,然后当它询问我是否要用新代码替换旧代码时,我选择是。
有没有更好的方法来做到这一点,因为这样每次都会覆盖我的自定义代码并破坏存储在我本地数据库中的数据。特别是,当我将数据存储在其本地数据库中,然后我决定更改列名或添加某些内容时,这将覆盖所有内容...
遇到这种情况该怎么办?
【问题讨论】:
标签: c# sql-server asp.net-core