在nhibernate会话中是否可能有多个连接字符串?

在nhibernate会话中是否可能有多个连接字符串?,nhibernate,Nhibernate,如果我的应用程序跨越多个数据库,例如服务器1上的用户1-10K,服务器2上的用户10-10K(例如),我如何修改会话对象以指向正确的数据库 据我所知,如果我在nhibernate的会话中更改连接字符串,它将影响所有人,而不是当前的请求是否正确?在nhibernate中,是ISessionFactory负责将连接字符串保存到特定数据库并创建ISession实例。对于多数据库支持,您可以查看哪些仍在进行中 在NHibernate中,ISessionFactory负责保存到特定数据库的连接字符串并创建

如果我的应用程序跨越多个数据库,例如服务器1上的用户1-10K,服务器2上的用户10-10K(例如),我如何修改会话对象以指向正确的数据库


据我所知,如果我在nhibernate的会话中更改连接字符串,它将影响所有人,而不是当前的请求是否正确?

在nhibernate中,是
ISessionFactory
负责将连接字符串保存到特定数据库并创建
ISession
实例。对于多数据库支持,您可以查看哪些仍在进行中

在NHibernate中,
ISessionFactory
负责保存到特定数据库的连接字符串并创建
ISession
实例。对于多数据库支持,您可以查看哪些仍在进行中

在一个会话中一次只能有一个连接。拥有更多将导致分布式甚至是即席事务语义,而NHibernate在其基本形式中不支持这种语义


如果您使用的是NHibernate,那么您可能使用的是SQL Server,这似乎是链接服务器和视图的完美候选。您可以有一个“主”数据库,其中的视图可以合并来自所有不同数据库的数据。事实上,这是一种非常标准的表分区方法,唯一的区别是基本表位于不同的数据库中。

在一个会话中一次只能有一个连接。拥有更多将导致分布式甚至是即席事务语义,而NHibernate在其基本形式中不支持这种语义


如果您使用的是NHibernate,那么您可能使用的是SQL Server,这似乎是链接服务器和视图的完美候选。您可以有一个“主”数据库,其中的视图可以合并来自所有不同数据库的数据。事实上,这是一种非常标准的表分区方法,唯一的区别是基本表位于不同的数据库中。

是的,
Hibernate Shards
是一个更成熟的项目。是的,
Hibernate Shards
是一个更成熟的项目。