2014-09-19 3 views
0

Я такая ситуация:NHibernate отношение против производительности запросов

  • Я получил большую базу данных модели с большим количеством связей

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

Теперь я ищу способ, как я могу решить эту проблему. Можно ли указать сопоставление отношений без загрузки данных или решить в запросе отношение whitch должно загружаться. Есть ли способ в NHibernate для достижения этой цели?

Я не мог лениться загрузить отношения, потому что DataAccess вызывается через WCF, и поэтому сеанс закрывается.

ответ

0

Логически, если вы хотите получить много данных, вы должны использовать запрос (возможно, запрос через HQL или Linq), а затем использовать пользовательский DTO для передачи данных обратно в вашу службу.

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

Смежные вопросы