I have entity Problem mapped using many-to-many to entity Tag (Problem has a list of tags). I want to load all the Problems, which have specific Tags.
For example: Problem1 (tag1) Problem2 (tag1, tag2) Problem3 (tag1, tag3) Problem4 (tag3, tag4) I want to get the problems by filter "tag1, tag2". The system 开发者_如何学Goshall return: Problem1 (tag1) Problem2 (tag1, tag2) Problem3 (tag1, tag3) I have been puzzling over this problem for a week already. Have you any ideas? P.S. Load all the list and filter it using LINQ is the last possible variant...HQL is a better fit for these queries than Criteria.
One possible solution:
session.CreateQuery(@"select distinct p
from Problem p
join p.Tags t
where t in (:tags)")
.SetParameterList("tags", listOfTags)
精彩评论