nhibernate – SessionFactory – 一个用于多个数据库的工厂

我们的情况是,我们有多个具有相同架构的数据库,但每个数据库都有不同的数据.我们正在创建一个会话工厂来处理这个问题.

问题是我们不知道我们将连接到哪个数据库,直到运行时,我们可以提供.但是在启动时要获得工厂构建,我们需要连接到具有该模式的数据库.我们目前通过在已知位置创建架构并使用它来完成此操作,但我们希望删除该要求.

我没有找到一种方法来创建会话工厂而不指定连接.我们不希望能够在没有参数的情况下使用OpenSession方法,这没关系.

有任何想法吗?
谢谢
安迪

最佳答案 要么实现自己的IConnectionProvider,要么将自己的连接传递给ISessionFactory.OpenSession(IDbConnection)(但请阅读方法关于连接跟踪的评论)

点赞