我的目标模式如下:
项目有许多塔格,塔格人可以属于许多项目
我愿使用标准进行以下调查。
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"))));
}
}