Что лучший способ состоит в том, чтобы хранить/получать данные для рабочего стола, не используя базу данных?

у меня есть вопрос о том, чтобы хранить данные для настольного приложения, если я - к развернутому приложение без базы данных SQL MS, как я мог упростить получение/хранение данных. Я знаю, что могу также сериализировать объекты данных в файл (такие как XML-файл), быть там каким-либо другим более эффективным или эффективным путем?

5
задан aggietech 11 February 2010 в 04:27
поделиться

5 ответов

SQLite очень хорошо работает как встроенная база данных. Даже есть привязки .NET / Mono .

4
ответ дан 14 December 2019 в 01:07
поделиться

Вы можете изучить SQL Server Compact Edition .

2
ответ дан 14 December 2019 в 01:07
поделиться

Я не думаю, что вам следует спрашивать, какой из них "лучший", но какой из них будет лучшим для ВАС.

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

Если вы собираетесь хранить только небольшие объемы данных, вам может быть лучше использовать XML или простой двоичный файл, так как он уменьшит размер вашего приложения и устранит зависимость от стороннего продукта. Мы иногда (и я подчеркиваю очень редко!) Все еще используем классический файл INI, потому что он хорошо поддерживается в коде и приводит к чрезвычайно компактному коду.

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

1
ответ дан 14 December 2019 в 01:07
поделиться

Есть множество вопросов, которые можно задать, чтобы подойти к ответу на ваш вопрос. Для целей данного ответа я буду исходить из следующего:

1) Необходимо хранить ограниченное количество данных. 2) Встроенные возможности (не требуется сторонних производителей или баз данных).

Наиболее удобным, встроенным (присущим базовой установке .NET) является DataSet - в частности, типизированный DataSet.

Вы можете добавить неограниченное количество таблиц и данных в свой DataSet (ограниченное доступной памятью) и легко сохранять и загружать данные с диска. DataSet'ы легко сериализуются в привязанные к схеме данные Xml.

1
ответ дан 14 December 2019 в 01:07
поделиться

Если вы работаете в Windows и вам нужно запросить данные простым способом, рассмотрите встроенный механизм базы данных ESENT ( http://blogs.msdn.com/windowssdk/archive/2008/10/23/ esent-extension-storage-engine-api-in-the-windows-sdk.aspx ). CodePlex имеет оболочку .NET, которая включает класс PersistentDictionary ( http://managedesent.codeplex.com/ ), который работает как словарь .NET, но поддерживается файлом базы данных на диске.

1
ответ дан 14 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: