Как да формулирам тази заявка в NHibernate с Lambda Extensions?

Използвам NHibernate с Lambda Extensions и не мога да разбера как да формулирам конкретен вид заявка.

Приложението ми позволява на потребителите да маркират други потребители в снимки. Така че има обекти Picture и всяка Picture има един или повече обекти Tag, а всеки обект Tag има един обект User.

Внедрявам функция за търсене. При даден низ за търсене искам да върна всички Картини, чието име съдържа низа или, които имат етикети с потребител, чието име съдържа низа.

Не знам как да сглобя тази заявка или дали трябва да го направя с подзаявки или псевдоними. Какъв би бил правилният начин да направите това?


person Brian Kendig    schedule 17.05.2010    source източник
comment
опитайте да помислите за това в SQL, след това работете назад до NHibernate Criteria.   -  person Mauricio Scheffer    schedule 18.05.2010


Отговори (1)


В Lamdba не знам, но можете да използвате псевдоним за търсене в колекцията?

session.CreateCriteria<Picture>()
    .CreateAlias("Tags", "tags")
    .Add(
    Expression.Or(
        Expression.Eq("Name","term"),
        Expression.Eq("tags.User.Name","term")));
person MatthieuGD    schedule 18.05.2010