Хорошо, я вижу, где BreezeJS поддерживает IndexedDB, по крайней мере, на основе записи на их веб-странице, но где я могу найти примеры того, как спроектировать автономное решение с использованием BreezeJS и опции локального хранилища IndexedDB? Как мне построить эту схему на стороне сервера в локальном хранилище? Кроме того, есть ли примеры синхронизации с Mysql? Спасибо

1
Nate 20 Май 2014 в 19:06

3 ответа

Лучший ответ

Breeze не предоставляет оболочку для IndexedDB. Вы должны написать свое собственное. window.indexedDB является частью HTML5 DOM браузера, поэтому, когда вы видите его в документации Breeze, он ссылается только на то, что доступно в DOM браузера. Вам нужно будет написать свою собственную настраиваемую функцию IndexedDB, которая обрабатывает запросы на сохранение и извлечение из базы данных.

1
Nate 23 Май 2014 в 19:17

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

У нас пока нет примеров использования IndexedDb, но есть несколько примеров в zip-архиве образца DocCode, которые используют localStorage браузера. Основная идея indexedDb почти такая же,

  • 1) Экспортируйте объект или объекты в строку с помощью вызова EntityManager.exportEntities. (Это возвращает строковый результат json).
  • 2) Сохраните строку в локальном хранилище (браузер localStorage или IndexedDb) с произвольным ключом.
  • 3) Позже ... получить строку из localStorage
  • 4) Импортируйте строку в EntityManager через вызов EntityManager.importEntities.
2
Jay Traband 21 Май 2014 в 00:29

Вот запрос на вытягивание, который добавляет поддержку BreezeJS, который добавит более продвинутую поддержку экспорта / импорта с помощью indexedDB. Пожалуйста, отметьте +1, если вы хотите, чтобы эта поддержка была добавлена ​​в Breeze.JS.

https://github.com/Breeze/breeze.js/pull/22

0
Bramski 26 Июн 2014 в 18:36