2010-03-17 26 views
0

我有一个任何关联实体的集合,像这样:NHibernate的查询任何的协会荟萃值

public class CreatedLog 
{ 
    public string Message { get; set; } 
    public EntityBase CreatedEntity { get; set; } // an association to any entity 
} 

有没有一种方法 - 通过HQL或条件API - 只查找日志条目,对于特定的实体类型?

session.CreateCriteria<CreatedLog>() 
.Add(Restriction.Eq("CreatedEntityType", "Note")); 

回答

1

你可以使用特殊class属性:

from CreatedLog c where c.CreatedEntity.class = 'YourSpecificClass' 
+0

不错!这看起来像是一种方式。你知道它是否在标准API中具有等价性吗? – asgerhallas 2010-03-17 11:56:41

+0

糟糕。它开箱即用。我输错了。 – asgerhallas 2010-03-17 12:41:21

+0

@asgerhallas,我不知道这是可能的Criteria API。也许有人可以带来更多的见解。 – 2010-03-17 12:42:30