2011-01-27 47 views
0

使用SQL Server Express和FluentNHibernate:FluentNHibernate,如何验证/检查数据库? (SQL Server Express)

我映射类,配置SessionFactory并执行SchemaExport;一切正常。但是在程序启动时,您如何检查/验证表格是否存在? Fluent有一些功能可以帮助吗?

我想这将是适当的有一个弹出框不匹配,询问你是否要重建一个新的数据库?

此外,还有其他事情要验证吗? (除了明显的是,数据库存在)

回答

2

您可以使用此代码来验证:

SchemaValidator validator = new SchemaValidator(config); 
    try 
    { 
     validator.Validate(); 
    } 
    catch (HibernateException) 
    { 
     // not valid, try to update 
     try 
     { 
      SchemaUpdate update = new SchemaUpdate(config); 
      update.Execute(false, true); 
     } 
     catch (HibernateException e) 
     { 
      MessageBox.Show("invalid schema"); 
     } 
    } 
+0

OTOH,这是后话运行测试,而不是“在程序启动”什么时候做,除非数据库“神奇”让他们的桌子掉下来。 – 2011-01-27 12:57:03

相关问题