QueryOver - добавить ограничение на коллекцию примитивов - PullRequest
1 голос
/ 22 июня 2011

Учитывая следующую сущность -

public class Friend
{
    public virtual string Name { get; set; }
    public virtual IEnumerable<string> Nicknames { get; set; }
}

, которая отображается следующим образом:

mapping.HasMany(x => x.Nicknames).Element("Value")  //this gets auto-mapped to a different 'Nicknames' table

по заданной строке, я хочу получить друга, имя или одно из его псевдонимов которогострока.
Я не могу понять, как это сделать ... вот что у меня так далеко:

.Where(Restrictions.Or(
                    Restrictions.On<Friend>(f => f.Name).IsInsensitiveLike(name),
                    Restrictions.On<Friend>(f => f.Nicknames) // i'd like to be able to do: .Contains(name)   
                     )
                     ).List();

1 Ответ

0 голосов
/ 07 июля 2011

оказывается, что это известная проблема в nHib (и фактически в Hibernate).
см. здесь .
В итоге я использовал Query API для этого.

...