0
我試圖使用標準API過濾一列值。我懷疑這是不可能的,我只是在這裏問一下確定。NHibernate:使用標準對值列表進行查詢過濾
class Entity
{
int id { get; set; }
IList<Guid> Guids { get; set; }
}
映射:
<class name="Entity">
<id ...></id>
<bag name="Guids" table="Entity_Guids">
<key column="Entity_FK"/>
<element column="Guid"/>
</bag>
</class>
認爲我有GUID列表(實際上這是另一個子查詢)。我想過濾Guid列表中至少有一個guid的所有實體。
SQL就像這樣:
SELECT *
FROM Entity e
inner join Entity_Guids eg
on e.id = eg.Entity_FK
WHERE
eg.Guid in (subquery)
隨着標準的API,這似乎是不可能的。
ICriteria query = session
.CreateCriteria(typeof(Entity), "e")
.Add(Subqueries.In("e.Guids", subquery))
引發異常。
例外呢? – MatthieuGD 2009-06-27 22:19:56
和子查詢是detachedcriteria? – MatthieuGD 2009-06-27 22:21:00