Если у вас есть реляционные данные, база данных будет работать. В качестве альтернативы MySQL, если вы не ищете централизованное решение, вы можете использовать SQLite. SQLite запускается в процессе (это означает, что программа, на которой он запущен, является собственным «сервером базы данных») и не требует установки, кроме как распространение DLL-файла, содержащего его.
Роберт Симпсон написал System.Data.SQLite , поставщик данных SQLite для .Net framework. Он бесплатный и с открытым исходным кодом (например, SQLite), работает и чувствует себя так же, как System.Data.SqlClient. Он поддерживает стандартные соглашения ADO.Net, Linq и Entity Framework.
Я использовал System.Data.SQLite для рабочих проектов для приложений, которые должны работать быстро и кэшировать данные локально для сравнения между несколькими запусками (обработка данных и планирование заданий). Firefox является хорошим примером приложения, использующего SQLite, Firefox 3 использует SQLite для своих файлов cookie, истории загрузок, автозаполнения форм и, что наиболее важно, вашей истории веб-просмотров.
Опять же, SQLite предназначен для непосредственного использования приложения и не имеет таких функций, как аутентификация пользователя и разрешения схемы. Имеются проблемы, если несколько программ пытаются записать в одну и ту же базу данных (их можно обойти, но это не то, что может сделать настоящая СУБД). Это самое большое преимущество - его не нужно устанавливать и настраивать для работы, как это делает MySQL. В случае с C # все, что вам нужно сделать, это обратиться к System.Data.SQLite и скопировать файл .dll вместе с вашей программой, и он будет работать.