2010-03-17 55 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