在NHibernate中实现对象的内存中实例

时间:2012-08-14 11:08:43

标签: c# nhibernate nhibernate-mapping

无论如何在NHibernate中实现内存中或固定/硬编码的对象实例,它们看起来都是从数据库读取的对象的真实实例?

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

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

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

我通过使用显式添加了硬编码行的sql视图来管理作弊加载,但当然我无法写入这样的视图,因此需要替代解决方案。

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

任何人都有其他建议吗?

1 个答案:

答案 0 :(得分:0)

我能想到的一个技巧是将虚构的User实例附加到会话中,以便使用应该处理引用的sess.Lock(admin, LockMode.None);进行查询。但是我不确定在加载引用时会发生什么。