【问题标题】:NHibernate: accessing configuration properties (Sql dialect) at runtimeNHibernate:在运行时访问配置属性(Sql 方言)
【发布时间】:2010-09-21 19:39:52
【问题描述】:

我想在运行时检索配置文件中指定的“dialect”和“connection.driver_class”属性的值。

你知道怎么做吗?

非常感谢, 尼古拉

【问题讨论】:

    标签: nhibernate hibernate


    【解决方案1】:

    感谢您的回答。 我不喜欢该解决方案的一件事是我需要保留配置并在需要方言知识的方法中传递它。

    我发现了其他几个方法,只需要引用 ISessionFactory 的 ISession。

    来自 ISession:

        public static Dialect GetDialect(ISession session)
        {
            Dialect dialect = session.GetSessionImplementation().Factory.Dialect;
            return dialect;
        }
    

    来自 ISessionFactory:

        public static Dialect GetDialect(ISessionFactory sessionFactory)
        {
            var implementor = sessionFactory as ISessionFactoryImplementor;
            Dialect dialect = implementor.Dialect;
            return dialect;
        }
    

    【讨论】:

      【解决方案2】:

      当您构建配置对象并加载 XML 并最终构建 SessionFactory 时,请继续使用您拥有的配置对象引用。

      您可以使用您拥有的配置参考的 Properties 对象,或者您可以执行类似 Dialect.GetDialect(_configuration.Properties) 之类的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多