我维护一个应用程序,它有许多域实体从多个数据库中提取数据。这通常的工作方式是从数据库A加载实体(其中存储了大多数字段)。当调用与数据库B中的数据相对应的属性时,实体会将SQL激活到数据库B以获取所有相关数据。
我目前正在使用'自己动手'的ORM,它很丑陋但有效(且易于理解)。我最近开始将NHibernate用于仅从数据库A中提取的实体,但我想知道如何将NHibernate用于从数据库A和B中提取的实体。
我能想到的最佳方式如下。我继续为数据库A中的实体使用基于NHibernate的类库。那些还需要来自数据库B的数据的实体在通过属性访问的单个类中公开来自数据库B的所有数据。调用此属性时,它将调用相应的存储库,并返回该对象。因此,需要从类库中引用用于访问数据库B的类库来访问数据库A.
这是否有意义,并且是否存在针对这种情况的更为确定的模式(必须相当常见)。
由于
大卫