使用带有 sqlite-net orm 的 SQLiteConnection.Delete(object) 命令后更改 sqlite 文件大小
Posted
技术标签:
【中文标题】使用带有 sqlite-net orm 的 SQLiteConnection.Delete(object) 命令后更改 sqlite 文件大小【英文标题】:Change sqlite file size after using SQLiteConnection.Delete(object) command with sqlite-net orm 【发布时间】:2014-12-12 16:06:26 【问题描述】:我正在使用 sqlite-net ORM。首先,我使用的是大型数据库,文件大小约为 120 mb。比我删除了该数据库的一小部分但文件大小没有改变。我正在尝试使用真空但我不能使用真空命令。我应该在哪里使用 Vacuum 命令?
public class Entities : SQLiteConnection
public Entities(string dbPath, bool createDatabase = false)
: base(dbPath)
我的 SQLiteConnection 在 SQLite.cs sqlite-net orm 内。
【问题讨论】:
您显示的代码中没有“真空”。 我的问题是如何在我的代码中使用 Vacuum 命令? 【参考方案1】:这种使用 SQLitePCL 库的 sqlite 命令的快速方法。
public async Task<int> Vacuum()
return Db.SqliteConnection.ExecuteAsync("VACUUM;");
【讨论】:
以上是关于使用带有 sqlite-net orm 的 SQLiteConnection.Delete(object) 命令后更改 sqlite 文件大小的主要内容,如果未能解决你的问题,请参考以下文章
ORM 或其他东西可以有效地处理带有 order 列的 SQL 表
如何在带有 ARM CPU 的 WinRT 设备中部署 SQLite?