MongoDB C # отображение объектов домена - PullRequest
1 голос
/ 23 сентября 2011

Обычно при использовании Nhibernate у меня есть модели в проекте Nhibernate, затем они сопоставляются с моделью пользовательского интерфейса для использования, а затем возвращаются, однако мне приходится часто использовать слияние вместо обновления, поскольку сопоставленная модель, хотя и имеет тот же Id, что и существующий NhibernateModel это не тот же объект.

В моем следующем проекте я знаю, что MongoDB станет базой данных, поэтому мне просто интересно, возникнут ли какие-либо проблемы при отображении из пользовательского интерфейса в объекты Mongo? Сценарий будет:

  • Пользователь создает учетную запись
  • Учетная запись сохраняется в Монго
  • Пользователь просматривает данные учетной записи (вызов монго, затем сопоставление с моделью пользовательского интерфейса)
  • Пользователь меняет дату своего рождения
  • Пользователь сохраняет свою измененную учетную запись (карту для модели Монго, затем вызов для обновления в Монго)

Надеюсь, это будет простой ответ!

1 Ответ

0 голосов
/ 24 сентября 2011

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

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

Если вы хотите использовать его в более традиционном стиле ORM, вы можете сделать это (хотя и без функций отслеживания изменений, к которым вы могли бы привыкнуть), но стоит рассмотреть этот альтернативный стиль.

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