1
我的對象模型如下:爲NHibernate的標準API許多一對多
項目有很多標籤,一個標籤可以同時屬於多個項目
我想使用標準的執行下面的查詢。
SELECT * FROM Item item
WHERE item.Id in (Select it.ItemId from dbo.ItemToTags it where it.Tag_id = 'ONE')
AND item.Id in (Select it.ItemId from dbo.ItemToTags it where it.Tag_id = 'TWO')
含義我想給可能的標籤的集合,然後提供具有所有這些標籤的所有內容:
我嘗試以下,但我得到的不是結果:
CreateCriteria<Item>().CreateAlias("Tags", "Tags");
if (AndQuery) {
foreach(var tag in Tags)
{
criteria.Add(Subqueries.PropertyEq("Tags.Id", DetachedCriteria.For<Tag>().Add(Restrictions.Eq("Id", tag)) .SetProjection(Projections.Property("Id"))));
}
}
感謝您的回答,但那會給我OR關係。我正在尋找一個安慰!這就是爲什麼我的查詢包含兩個子查詢,而不是! – Patrick 2010-10-05 13:02:13