将nhibernate映射到共享模式但不共享数据的多个数据库

时间:2010-11-09 09:45:28

标签: fluent-nhibernate nhibernate-mapping nhibernate-burrow

我有多个数据库应该同时处于活动状态。它们共享模式,但不共享数据。

AFAIK nhibernate使用类类型来了解它所连接的映射和数据库,对吗?因此,一旦它获得一个对象,就不会知道它是否属于数据库a或b。

我认为使用继承来解决这个问题是可能的,但这是一个真正的痛苦,因为大约有10个不同的数据库......

如何使用nhibernate(burrow)解决这个问题?

我找到了this,但这与仅选择多个数据库中的数据库不同。我需要使用不同的数据同时打开它们。

我也看过NHibernate.Shards,但那也不行。这是无法更改的旧数据库。

1 个答案:

答案 0 :(得分:0)

如果每个数据库的映射都相同,我认为每个数据库都有一个ISessionFactory实例,使用相同的映射进行映射,那么您将从相应的数据库中获取一个ISession来访问特定的数据库