1

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 を使用してプラグマ「auto_vacuum」で動作するように sqlite を構成するにはどうすればよいですか?

4

1 に答える 1

3

これがauto_vacuumに適用されるかどうかはわかりませんが、他のプラグマでは、dbを「通常」に構成してから、プラグマを更新として実行します。次に例を示します。

SessionManager.CurrentSession.CreateSQLQuery(String.Format("PRAGMA user_version = {0}", version)).ExecuteUpdate();

これは、次のようにFluentNHibernateを使用して初期化されました。

Fluently.Configure().Database(SQLiteConfiguration.Standard.UsingFile(dbPath)...
于 2012-12-13T16:39:04.847 に答える