У меня есть два класса (на самом деле больше из них):NHibernate - разбивка результата запроса по коллекции детской
public class City{
public string Name;
public List<Street> Street;
}
public class Street{
public string Name;
public City City;
}
Я пытаюсь извлечь отфильтрованные данные, используя ICriterion примерно так:
ICriteria crit = CurrentSession
.CreateCriteria(typeof (City));
crit = crit.CreateAlias("Streets", "Street", NHibernate.SqlCommand.JoinType.LeftOuterJoin);
crit.Add(Expression.InsensitiveLike("Name", "London", MatchMode.Exact));
crit.Add(Expression.InsensitiveLike("Street.Name", "Pic%", MatchMode.Exact));
Как сформировать критерии, чтобы получить результат в виде списка City, содержащего дочернюю коллекцию Street, с одним элементом? Поэтому мне нужно, чтобы получить следующий результат:
City: 'London' -> Streets:{'Piccadilly'}
City: 'London' -> Streets:{'Pickard'}
City: 'London' -> Streets:{'Pickwick'}
и т.д. , но в данный момент я получаю:
City: 'London' -> Streets:{'Piccadilly', 'Pickard', 'Pickwick'}
City: 'London' -> Streets:{'Piccadilly', 'Pickard', 'Pickwick'}
City: 'London' -> Streets:{'Piccadilly', 'Pickard', 'Pickwick'}
Количество рядов = Количество найденных улиц. Мне нужно что-то вроде «ungrouping by Streets по всем строкам»