использование базы данных и развертывание приложения - PullRequest
0 голосов
/ 29 апреля 2010

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

Я использовал базы данных SQL с веб-приложениями (PHP, Ruby и ASP.NET), но никогда с приложениями для настольных компьютеров. В идеале я хотел бы иметь возможность хранить всю информацию в одном файле базы данных и распространять ее вместе с приложением, не требуя от пользователя подключения к удаленной базе данных (поэтому ему не нужно подключение к Интернету - хотя в конечном итоге это будет хорошо, если бы можно было сравнить версию локального файла с одной из онлайн-версий и обновить ее при необходимости), не заставляя их устанавливать локальный сервер базы данных на свой компьютер. Это возможно?

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

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

Ответы [ 2 ]

1 голос
/ 29 апреля 2010

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

Домашняя страница SQLite

Поставщик ADO.NET

0 голосов
/ 29 апреля 2010

Если вы знаете, как все ваши объекты будут совмещаться, вы можете их сериализовать / десериализовать, чтобы сохранить их на диске в виде набора ProtoBuf объектов (конечно, в зависимости от их размера). Я обнаружил, что это довольно простое и элегантное решение для хранения набора взаимосвязанных классов. Каждый класс, который должен быть сохранен, все ваши данные могут быть сериализованы с помощью этого метода, а затем восстановлены по мере необходимости.

Здесь это ссылка .NET на него.

Это - предыдущий вопрос, который я задал для SO, и получил несколько хороших ответов.

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