在运行时设置NHibernate数据库

Kri*_*s-I 0 database nhibernate asp.net-mvc orm fluent-nhibernate

想象一下,我有一个网站,这个提供服务.要访问此服务,我需要输入登录名/密码.我想根据登录设置使用数据库.示例:

  • login1将使用database1
  • login23将使用database23

是否可以在运行时设置数据库以与Nhibernate一起使用?

谢谢,

Ken*_*han 6

您可以想象它SessionFactory代表一个数据库,并Session代表一个数据库连接.该Session距离得到SessionFactory,就像你从数据库的数据库连接.给定a Session,您无法更改它连接的数据库.

在您的情况下,您应该SessionFactory为database1和database23 创建.如果要连接到database1 ,请Session从database1 获取SessionFactory.否则,Session从数据库23 获取SessionFactory