如何将Visual Studio中.NET Core项目的本地SQL Server LocalDB数据库签入GitHub仓库
嘿,我完全懂你的需求——就是想把数据库跟代码一起塞进GitHub,换台电脑拉下来就能直接开发,不用重新搭数据库对吧?这事儿其实没那么复杂,核心就是把LocalDB的数据库文件挪到项目目录里,再调整Git的配置让它能被提交。我给你一步步拆解:
1. 调整连接字符串,让数据库文件存到项目里
你现在用的连接字符串指向的是LocalDB默认的用户目录里的数据库,那肯定没法跟着项目走。咱们把它改成指向项目内的文件夹:
"ConnectionStrings": { "MyContext": "Server=(localdb)\\mssqllocaldb;AttachDbFilename=|DataDirectory|MyContext.mdf;Trusted_Connection=True;MultipleActiveResultSets=true" }
这里的|DataDirectory|是EF Core能识别的特殊路径,默认对应项目根目录下的App_Data文件夹。你得先手动在项目里创建这个文件夹(右键项目→新建文件夹,命名为App_Data就行)。
2. 生成项目内的数据库文件
如果你的项目是Code First模式,运行下面的EF Core迁移命令,让数据库生成到App_Data里:
Add-Migration InitialCreate Update-Database
执行完之后,你就能在App_Data里看到MyContext.mdf和MyContext_log.ldf这两个文件了,这就是你的本地数据库。
3. 修改Git配置,允许提交数据库文件
默认的.NET Core项目.gitignore文件会排除.mdf和.ldf这类数据库文件,所以得先改.gitignore:找到下面这几行,把它们注释掉(加个#)或者直接删掉:
# SQL Server files *.mdf *.ldf *.ndf
然后把App_Data文件夹和里面的文件添加到Git仓库:
git add App_Data/ git commit -m "Add local database files to repo" git push
4. 换电脑拉取后的操作
等你在另一台电脑上拉取项目后,只需要确认两件事:
- 那台电脑装了SQL Server LocalDB(一般装Visual Studio的时候会默认安装,如果没装,去微软官网搜LocalDB下载安装就行)
- 直接打开项目运行就行,EF Core会自动加载项目里的数据库文件,不用再跑迁移或者重新建库
一些小提醒
- 每次修改数据库结构或者数据后,记得把更新后的
.mdf和.ldf文件提交到Git,不然别的电脑拉下来的还是旧数据 - 别手动挪数据库文件的位置,就用
|DataDirectory|的方式,这样不管项目在哪个路径下都能正常连接 - 如果遇到连接失败,先检查LocalDB有没有启动:打开命令提示符,输入
sqllocaldb start就能启动它
内容的提问来源于stack exchange,提问作者M1976




