次の(単純化された)多対多の関係があります。
public class Tag
{
public string Name { get; set; }
public IList<Product> Products { get; set; }
}
public class Product
{
public IList<Tag> Tags { get; set; }
}
次のスニペットは、少なくとも 1 つのタグに一致するすべての製品を返します。
var searchTags = new[] {"tag1", "tag3"};
Tag tagAlias = null;
var query = _session.QueryOver<Product>()
.JoinAlias(p => p.Tags, () => tagAlias)
.WhereRestrictionOn(() => tagAlias.Name).IsIn(searchTags)
.List();
すべてのタグ名を持つ製品を含むリストを取得するにはどうすればよいですか?