我将sqlite数据库文件设置为自动缩小有问题。我用来配置数据库的代码是:
Fluently.Configure()
.Database(SQLiteConfiguration.Standard.ConnectionString("PRAGMA auto_vacuum=FULL").UsingFile("file.sqlite"))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Application.NHibernateSessionManager>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
创建~15000记录后,数据库文件大~1MB。当我删除所有数据库文件仍然是〜1MB。
如何使用流畅的nhibernate配置sqlite以使用pragma“auto_vacuum”?
答案 0 :(得分:2)
我不确定这适用于auto_vacuum,但是对于其他pragma,我将db“正常”配置,然后执行pragma作为更新,例如:
SessionManager.CurrentSession.CreateSQLQuery(String.Format("PRAGMA user_version = {0}", version)).ExecuteUpdate();
这是使用FluentNHibernate初始化的,如下所示:
Fluently.Configure().Database(SQLiteConfiguration.Standard.UsingFile(dbPath)...