2011-10-29 47 views
0

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

  • login1将使用数据库1
  • login23将使用database23

是否有可能在运行时设置与NHibernate使用的数据库?

感谢,

回答

6

你可以想像,SessionFactory代表一个数据库,并Session表示数据库连接。 SessionSessionFactory获得,就像从数据库获取数据库连接一样。给定一个Session,您不能更改它连接到的数据库。

在你的情况下,你应该为database1和database23创建SessionFactory。 如果要连接到database1,请从database1的SessionFactory获取Session。否则,从数据库中获得SessionSessionFactory

+0

它访问我需要的应用程序中的多个数据库。但是,当用户访问应用程序时,根据此用户的设置访问数据库 –

+0

您只需获取用户的设置(如果他应该使用数据库1),则从数据库1的SessionFactory中获取会话以使用该设置。你的问题实际上是什么? –