using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace XP.Common.Configs { /// /// SQLite 配置实体 /// public class SqliteConfig { /// /// 数据库文件路径 /// public string DbFilePath { get; set; } = Path.Combine( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Files", "Data", "XP.db"); /// /// 连接超时时间(秒,默认30) /// public int ConnectionTimeout { get; set; } = 30; /// /// 数据库不存在时是否自动创建(默认true) /// public bool CreateIfNotExists { get; set; } = true; /// /// 是否启用 WAL 模式(提升并发性能,默认true) /// public bool EnableWalMode { get; set; } = true; /// /// 是否开启日志记录(记录所有SQL操作,默认false) /// public bool EnableSqlLogging { get; set; } = false; /// /// 获取SQLite连接字符串 /// public string GetConnectionString() { var builder = new Microsoft.Data.Sqlite.SqliteConnectionStringBuilder { DataSource = DbFilePath, Cache = Microsoft.Data.Sqlite.SqliteCacheMode.Default, DefaultTimeout = ConnectionTimeout }; return builder.ToString(); } } }