Какой лучший способ сохранить данные локально в приложении WPF? - PullRequest
9 голосов
/ 01 ноября 2009

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

Итак, мой вопрос: как лучше всего сохранить данные? Я подумал, что мог бы использовать файл XML, файл базы данных Access или, возможно, свойство. Я хотел бы сохранить данные локально, поэтому в этом случае никаких действий SQL Server нет. :)

Как вы думаете, куда идти?

Ответы [ 4 ]

6 голосов
/ 01 ноября 2009

Я знаю, что вы сказали, что нет SQL Server, но я читаю это, чтобы означать, что вам не нужен "сервер", и вы хотите хранить свои данные на клиенте. Я также предполагаю, что вы, вероятно, не возражаете против некоторой управляемости ваших данных. Вы знаете, такие вещи, как резервное копирование. И транзакции всегда хороши, поэтому ваши данные могут оставаться согласованными. Таким образом, хотя вы могли бы использовать XML (пожалуйста, избавьтесь от мыслей о Access из вашего разума), вы в конечном итоге бросите свою настойчивость, когда это решенная проблема.

Итак, ознакомьтесь с бесплатной SQL Server Compact редакцией. Это легкий, разработанный для запуска на настольном или мобильном устройстве, и его легко развернуть, если это потребуется вашему приложению. И все общие персистентные структуры поддерживают это. И я упоминал, что это бесплатно (как в ничего не стоит)?

5 голосов
/ 01 ноября 2009

Я бы взял SQLite в чистом виде или в формате, удобном для .NET (поиск в Google по запросу "sqlite .net" даст вам несколько вариантов). Он супер-переносим и, на мой взгляд, проще в настройке и распространении, чем SQL Server compact.

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

4 голосов
/ 01 ноября 2009

Я бы посоветовал выбрать самый простой из доступных источников данных и соответствующим образом отделить его, чтобы вы могли позднее добавить новый, другой источник данных, когда вы выясните, что подходит для ваших целей. С этой целью вы можете найти что-то вроде XML или даже открытого текста как простейшую вещь, которая могла бы работать.

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

Я не думаю, что важно принимать это решение заранее, потому что это личный проект, а не коммерческий.

1 голос
/ 01 ноября 2009

Один очень простой подход, который я использовал в прошлом, это ваша идея "XML-файла". Просто создайте объект, который описывает данные, которые вас интересуют, и затем сериализуйте их в xml.

Грэг абсолютно прав, когда говорит, что ваш источник данных должным образом отделен, чтобы вы могли его отключить, если ваши требования изменятся.

...