6

这应该很容易,但我似乎无法弄清楚......如何在没有实际获取或获取它的情况下检查实体上的孩子是否存在?孩子现在懒加载了..

所以我有两个实体:

class A
{
    public virtual int Id { get; set; }
    public virtual B Child { get; set; }
}
class B
{
    public virtual int Id { get; set; }
    public virtual byte[] Blob { get; set; }
}

我想在 A 的实例中检查 B 的存在而不实际获取大型博客...在直接 sql 中我可以检查 child_id 是否不为空...有什么方法可以查询 NHibernate 代理A中的B?

谢谢!

4

3 回答 3

8

NHibernateUtil.IsInitialized(...)将告诉您是否已加载代理对象。

于 2009-08-23T16:37:05.893 回答
4

nm - 可以只检查空值。只有当孩子存在时才会有代理。

于 2009-08-23T04:49:09.477 回答
1

空值检查是完美的解决方案:高效、易于理解。

于 2009-08-23T09:30:52.853 回答