Как получить сущность с ее сущностными свойствами в nhibernate? - PullRequest
1 голос
/ 26 мая 2009

Я хочу получить сущность с ее под-свойствами. Как я могу сделать это с Nhibernate без указания в отображении. Я хочу контролировать выборку, как мы можем сделать в linq-to-sql методом «LoadWith ()». Не автоматизированное решение.

public class Survey
{
   public virtual long Id;
   public virtual String Title;
   public virtual IList<SurveyPage> Pages; 
}

Я хочу получить опрос с загруженными свойствами страниц, одним запросом без использования файла сопоставления. Как я могу это сделать в nhibernate?

Ответы [ 2 ]

1 голос
/ 26 мая 2009

решаемая. Это сделал то, что я хочу.

IList<Survey> surveys = session.CreateCriteria(typeof(Survey))
                        .SetFetchMode("SurveyPages", FetchMode.Eager)
                        .List<Survey>();
0 голосов
/ 27 мая 2009

Да, FetchMode - один из способов сделать это. Несколько вещей, на которые стоит обратить внимание:

  1. Вы можете установить режим выборки только для одной коллекции (за один раз) файла сопоставления.

  2. Когда вы выполняете режим выборки для связанных коллекций, он возвращает объединение строк (не разделяет уникальные строки родителя)

Другой способ сделать то же самое - использовать HQl-запрос с Join.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...