初始配置后(运行时)可以关闭NHibernate ShowSQL吗?

时间:2008-11-10 05:40:45

标签: c# nhibernate

我的NHibernate配置设置为显示所有交互的sql。因此,我的一些较大的集成测试表现不佳(特别是在生成测试报告时)。

有没有办法在运行时关闭ShowSql - 然后以编程方式重新启用它。

1 个答案:

答案 0 :(得分:3)

您可以在运行时在配置对象上使用SetProperties(),然后从该配置创建SessionFactory。 SetProperties将Dictionary作为参数。然后,新的SessionFactory将使用新的配置设置。

        IDictionary<string, string> props = new Dictionary<string, string>();
        props["show_sql"] = "true";

        Configuration config = new NHibernate.Cfg.Configuration();
        config.SetProperties(props);
        config.Configure();
        config.AddAssembly(typeof(User).Assembly);

        ISessionFactory factory = config.BuildSessionFactory();

有关详情,请查看文档的以下部分: ISessionFactory Configuration

希望它有所帮助。

/埃里克