gpt4 book ai didi

c# - 从 SessionFactory 获取 ConnectionProvider

转载 作者:搜寻专家 更新时间:2023-10-30 23:07:33 29 4
gpt4 key购买 nike

要执行一些自定义(黑盒化)SQL 操作,我需要有一个 IDBConnection 实例到我们已经通过 NHibernate 定期访问的数据库。

我不想部署单独的数据库配置(一个本地的,一个 nhibernate),而是希望 NHibernate 给我直接访问已经配置的数据库。

我看到 ISession 接口(interface)有一个连接属性,我可以创建一个虚拟 session ,但我宁愿使用一个完全独立于任何创建的 session 的连接。

所以我想知道是否有机会获得 session 工厂用来为创建的 session 提供连接的 IConnectionProvider 实例?

最佳答案

此解决方案依赖于 NHibernate 的实现细节。它在我使用它的所有情况下都有效,但在升级 NHibernate 后情况可能并非如此。

假设您有我们的字段 ISessionFactory _sessionFactory,您可以使用以下转换来访问连接提供程序。尽管文档说接口(interface) ISessionFactoryImplementor 用于 session 工厂和 NHibernate 其他部分之间的通信,但它是公开的。

(_sessionFactory as NHibernate.Engine.ISessionFactoryImplementor).ConnectionProvider

关于c# - 从 SessionFactory 获取 ConnectionProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24751670/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com