它也需要与延迟加载的实体一起使用。
具体来说,我需要能够进一步过滤这些数据。不幸的是,NH不允许我使用内置过滤系统 (?) 来过滤多对一关系。我可能只是做错了。
是否有一个钩子,我可以手动和动态修改用于加载数据的查询?或者是允许我指定参数的过滤器的替代方法?
背景:
我正在使用一种使用修订控制形式的数据库,每个实体都有一个自然ID PK,一个EntityId,一个RevisionValidTo和RevisionValidFrom字段。可能有许多行使用相同的EntityId,这是其他表连接的引用,但Revision范围是互斥的。因此,该关系仅是应用滤波器的多对一IIF。但是,NH没有办法在多对一引用上指定过滤器(它们用于集合......)
答案 0 :(得分:1)
在我得知我没有 懒惰加载我的孩子对象之前,我一直走在同样的道路上。在最初加载时,从存储库中填充实体可能值得节省。如果你不想每次都接受这个打击,你可以对你与存储库交互的任何内容稍微有点流畅
GetObject(entityId).Including(x => x.Revisions).Between(...)