在运行时设置NHibernate数据库

时间:2011-10-29 08:13:03

标签: asp.net-mvc database nhibernate orm fluent-nhibernate

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

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

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

谢谢,

1 个答案:

答案 0 :(得分:6)

您可以想象SessionFactory表示数据库,Session表示数据库连接。 Session来自SessionFactory,就像从数据库获取数据库连接一样。给定Session,您无法更改其连接的数据库。

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

获取SessionFactory