1

无论如何要在 NHibernate 中实现内存中或固定/硬编码的对象实例,这些实例在所有意图和目的看来都是从数据库中读取的对象的真实实例?

我有一个历史数据库,其中有许多针对许多不同表的缺失外键值,因为它们在旧 DAL 中是固定/硬编码的。

这导致我的 NHibernate 映射出现问题。

这方面的一个例子是一个固定的不可变用户,比如存在于代码中但不存在于数据库中的“ADMIN”。这个 'ADMIN' 用户仍然在各种外键中使用,因此需要存在于 NHibernate 中,以便它可以管理 FK 映射。

我已经通过使用明确添加了硬编码行的 sql 视图来管理作弊加载,但是我当然不能写入这样的视图,因此需要一个替代解决方案。

我确实找到了对 uNhAddIns WellKnowInstanceType 的引用,它似乎做了类似的事情,但我无法开始工作。

有人有任何替代建议吗?

4

1 回答 1

0

我能想到的一个技巧是在查询之前将想象的 User 实例附加到会话中,使用sess.Lock(admin, LockMode.None);它应该注意引用。但我不确定在急切加载参考时会发生什么。

于 2012-08-19T20:40:11.250 回答