如何配置FluentNHibernate不覆盖现有的SQLite数据库文件?

时间:2009-08-10 07:00:00

标签: nhibernate sqlite fluent-nhibernate

这是我的配置:

this.factory = Fluently.Configure().
    Database(SQLiteConfiguration.Standard.UsingFile("foo.db").
        ShowSql()).
    Mappings(m => m.FluentMappings.AddFromAssemblyOf<Bar>()).
    ExposeConfiguration(BuildSchema).
    BuildSessionFactory();

BuildSchema看起来像这样:

private static void BuildSchema(Configuration config)
{
    new SchemaExport(config).Create(false, true);
}

幸运的是,这很有效,并创建了一个名为foo.db的文件,我可以读写它。不幸的是,每次运行此代码时,foo.db都会被覆盖。如何配置(Fluent)NHibernate只有在文件尚不存在的情况下才能创建文件?

1 个答案:

答案 0 :(得分:8)

在BuildSchema中添加if语句?

if (!File.Exists("foo.db"))
  new SchemaExport(config).Create(false, true);