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

Какая локальная база данных подходит для приложений Windows 8 Store?

Я программирую Windows 8 Store App (Metro Design) с помощью C# и XAML с помощью Visual Studio 2012.

Нет необходимости в сервере базы данных с поддержкой нескольких пользователей и т.д.

Я хочу хранить свои данные в локальной базе данных и не знаю, какая база данных подходит для моих нужд. Может быть, SQLite? Или есть решения, которые лучше подходят для приложений Windows Store и лучше интегрируются в Visual Studio?

Приложение представляет собой вид календаря, и база данных должна хранить пользовательские данные, состоящие из дат, задач и т.д.

4b9b3361

Ответ 3

Хорошо, это отличный вопрос, который мне пришлось усердно изучить. По умолчанию приложения WinRT НЕ имеют доступа, по крайней мере, к любой структуре базы данных. Это означает отсутствие Express, Compact, CE, SQLite и т.д.

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

Второй вариант - использовать IndexedDB. Он похож на модель локального хранилища в стиле файла cookie, где файлы сохраняются в папке локальных приложений приложений.

Третий и последний вариант - использовать веб-службы. У WinRT есть доступ к Интернету, что означает, что вы можете писать API и WebServices, которые могут быть вызваны. Это означает, что вам нужно запустить сервер, подключенный к основной базе данных. Когда ваше приложение нуждается в данных, оно вызывает ваш веб-сервис и получает то, что ему нужно.

В целом, для приложения, которое вы описываете, первый вариант может наилучшим образом удовлетворить ваши потребности. Храните локальный файл XML в папке приложений и читайте/пишите.

Ответ 4

Мой question был отмечен как дубликат этого вопроса (хотя речь шла о С++ не С#). Мне показалось, что я все равно буду публиковать свои выводы здесь. Приложения С++ имеют другую альтернативу:

Расширяемый механизм хранения (ESE)

Список всех таких API, доступных для приложений Store, можно найти на этой ссылке в разделе Jet.

Ответ 5

Как один из вариантов:

Devart LinqConnect для Metro - полнофункциональное высокопроизводительное ORM-решение для разработки приложений Windows Store с использованием LINQ или ADO.NET для доступа к данным.

http://code.msdn.microsoft.com/windowsapps/A-Simple-Windows-Store-85f29843#content

или следующая ссылка может быть полезна для

http://social.technet.microsoft.com/wiki/contents/articles/18417.windows-store-app-with-a-sqlite-database.aspx