使用流畅的nhibernate配置auto shrink sqlite数据库文件

时间:2012-12-13 13:49:14

标签: c# sqlite fluent-nhibernate

我将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”?

1 个答案:

答案 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)...