Как запросить отношение многие ко многим в NHibernate - PullRequest
2 голосов
/ 05 сентября 2011

Например, в в этом примере Employee и Address имеют отношение многие ко многим, а класс Employee имеет свойство

public virtual IList<Address> Addresses { get; set; }

В этом примере, как мне создать запрос linq, чтобы получить всех сотрудников, для которых X имеет один из адресов (X - переменная Address)?

Я могу думать о:

q => q.Where(employee => employee.Addresses.IndexOf(X)>=0);

Но я думаю, что это не будет оптимизировано и будет очень дорогостоящим.

1 Ответ

3 голосов
/ 05 сентября 2011

Попробуйте это:

q => q.Where(e => e.Addresses.Any(<your condition goes here>))

например

q => q.Where(e => e.Addresses.Any(a => a.City == "Moscow"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...