Подтвердить что ты не робот

Локальное хранилище баз данных для приложений WinRT/Metro

Я пытаюсь найти API в WinRT, который позволит мне создать локальную базу данных, которая может использоваться для хранения данных для случайно подключенного приложения. Я ищу что-то вроде SQL Compact Edition.

Я видел различные сообщения на разных досках, указывающие, что там

  • (a) не будет никаких локальных баз данных
  • (b) нет локальных "серверных" баз данных (например, экземпляров типа SQL Express)
  • (c) Локальный код базы данных с именем "Jet Blue".

Есть ли у кого-то окончательный ответ на это? Я не хочу начинать эту дорогу, если она заблокирована.

4b9b3361

Ответ 1

Теперь SQLite официально поддерживается. Подробнее см. блог Тима Хейера. Для более простого решения с меньшим количеством данных вы можете использовать http://winrtdatabase.codeplex.com/

Ответ 2

Возможно, вам стоит взглянуть на SQLite3-WinRT, обертка для SQLite, который мы написали, чтобы использовать его в приложении Metro-стиля. Он содержит версию SQLite, которая использует только API, совместимый с WinRT, и компонент WinRT для использования в приложениях С# и JavaScript.

Ответ 3

Для Metro не существует SQL CE.

a) не будет никаких локальных баз данных

Это неверно. SQLite должен работать на WinRT. Вы можете скачать код здесь и включить два основных файла в свой проект WinRT. Для компиляции и прохождения сертификации вам необходимо убедиться, что вы используете правильные вызовы замены WinRT для вызовов Win32, которые не поддерживаются. Стороннее решение Bob, о котором упоминалось, является оболочкой WinRT, оно не включает в себя изменения в SQLite для прохождения сертификации.

(b) нет локальных "серверных" баз данных (например, экземпляров типа SQL Express)

Кажется маловероятным, что для метро будет SQL Express.

(c) Локальный код базы данных с именем "Jet Blue".

Если вы имеете в виду механизм Microsoft Jet Database, да, это похоже на поддержку, но я бы предпочел использовать SQLite.

Также помните, если вы используете HTML/JS, у вас есть возможность использовать IndexedDB

Ответ 4

Существуют сторонние решения, выходящие или уже выпущенные. CodePlex имеет один - http://sqlwinrt.codeplex.com/

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

Ответ 6

Вам действительно нужны "данные хранилища для случайно подключенного приложения"? Это звучит немного для меня. Почему бы не сериализовать данные (различные параметры) для хранения?