Как сделать ThenFetch в Hql и как вы разбиваете много соединений в nhibernate linq? - PullRequest
0 голосов
/ 16 ноября 2011

У меня 2 вопроса

  1. Как сделать выборку в hql?

как в linq это будет

var allRecords = session.Query<Table1P>().FetchMany(x => x.Table2).ThenFetchMany(x => x.Table5s);
  1. Как разбить запрос, если у вас слишком много объединений.

    var allRecords = session.Query (). FetchMany (x => x.Table2) .FetchMany (x => x.Table3) .FetchMany (x => x.Table4) .FetchMany (x => x.Table6 ) .ToList ();

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

часто эффективнее вместо этого выполнять несколько отдельных запросов одного запроса с несколькими объединениями.

http://nhprof.com/Learn/Alerts/TooManyJoins

1 Ответ

0 голосов
/ 17 ноября 2011

Вы можете использовать фьючерсы. Вот пример: http://ayende.com/blog/4367/eagerly-loading-entity-associations-efficiently-with-nhibernate

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