You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置连接字符串以连接项目内Data文件夹的SQLite数据库

配置SQLite连接字符串指向项目内Data文件夹的数据库

你当前用的是绝对路径,项目移动或部署后就会找不到数据库文件。要指向项目内Data文件夹里的SQLite数据库,推荐用基于应用程序运行目录的相对路径配置,具体方法如下:

方法1:代码拼接可靠的绝对路径

用AppContext.BaseDirectory获取应用程序的运行目录,再拼接Data文件夹和数据库文件名,确保路径始终有效:

var dbFilePath = Path.Combine(AppContext.BaseDirectory, "Data", "UbTvLite.db");
optionsBuilder.UseSqlite($"DataSource={dbFilePath}");

AppContext.BaseDirectory会指向应用程序的输出目录(比如控制台项目的bin/Debug/netX.X,ASP.NET Core项目的发布目录),只要数据库文件被正确复制到输出目录的Data文件夹下,就能稳定连接。

方法2:直接使用相对路径(需注意工作目录)

如果能确保应用程序的当前工作目录是项目根目录或输出目录,也可以直接写相对路径:

// 跨平台正斜杠写法
optionsBuilder.UseSqlite("DataSource=Data/UbTvLite.db");
// Windows专属反斜杠写法
optionsBuilder.UseSqlite("DataSource=Data\\UbTvLite.db");

关键配置:确保数据库文件被复制到输出目录

在Visual Studio中选中Data文件夹内的UbTvLite.db文件,右键打开属性面板:

  • 设置复制到输出目录为「如果较新则复制」或「始终复制」
  • 设置生成操作为「内容」

这样编译或发布项目时,数据库文件会自动复制到输出目录的Data文件夹中,避免路径找不到的问题。

常见排查点

  • 检查输出目录里是否存在Data文件夹,以及数据库文件是否已复制到位
  • 确认应用程序对数据库文件所在目录有读写权限
  • 核对数据库文件名和路径拼写是否正确

内容的提问来源于stack exchange,提问作者Len Salamacha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:17:07