Ответы:
14/06/2016 Да ... все еще получаю голоса: - /
17/03/2014 Я все еще получаю голоса за это, помните дату, на которую изначально был дан ответ. Хотя основные три перечисленных пункта все еще полностью жизнеспособны, список будет стремиться стать устаревшим. Существуют и другие доступные технологии баз данных, которых нет в списке.
У вас есть несколько сразу узнаваемых и бесплатных опций:
Загрузка SQL Server Compact поставляется с поставщиком ADO.NET, на который вам нужно будет ссылаться в коде. Загрузка SQLite может не иметь его, поэтому вот ссылка:
http://sqlite.phxsoftware.com/
Все три используют SQL, хотя, вероятно, с некоторыми ограничениями / причудами. Management Studio работает с Compact и LocalDB, тогда как для SQLite вам понадобится еще один инструмент пользовательского интерфейса, такой как SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Есть альтернативы NoSQL, такие как:
Лично я бы избегал использования MS Access в лице других бесплатных опций. Вы не можете ошибиться с LocalDB, Compact или SQLite. Все они - прекрасные небольшие базы данных, которые работают относительно быстро в небольшом объеме оперативной памяти - личные предпочтения в отношении религиозных аспектов вкуса продукта Microsoft, я полагаю :-)
Я использую Sterling для программирования Windows Phone, так как он создан для использования изолированного хранилища. Я видел только статьи о RavenDb, но могу вам сказать, что это среда хранения документов на основе JSON.
Чтобы не путать ситуацию (используйте SQLite, SQL Server Express LocalDB или SQL Server Compact Edition), но есть и другие встроенные / локальные базы данных, некоторые реляционные, другие объектно-ориентированные:
Не все из них бесплатны. Поддержка SQL / LINQ / in-proc различна для всех. Этот список только для любопытства.
Теперь есть и Karvonite , однако ссылка на галерею кодов не работает. Когда он снова появится в живых, я разберусь с этим для разработки WP7.
Я бы порекомендовал SQLite . Мы используем его почти для всех приложений, которые разрабатываем там, где я работаю.
Это маленький и компактный. Для этого требуется, чтобы DLL находилась в каталоге приложения, но вам не нужно устанавливать другое программное обеспечение, такое как Access или SQL Server. Кроме того, как указывает danielkza ниже, «SQLite является общественным достоянием, поэтому вам не нужно беспокоиться о лицензировании». Это действительно может иметь большое значение.
Вы можете использовать System.Data.SQLite или csharp-sqlite для доступа к нему в приложении C #, используя те же методы, что и в SQL или OleDB.
Вам также понадобится приложение для редактирования / управления базой данных. Лучшим, на мой взгляд, является SQLite Studio . Вот еще пара:
SQLite Admin
SQLite 2009 Pro (внизу страницы)
Обновление - 25.07.11 - Дополнительные приложения SQLite (вопрос здесь на SO)
Подробнее о SQLite:
SQLite в Википедии
Компании, которые используют SQLite
Пользовательские функции. Кроме того, если вы просматриваете основные функции SQLite и не видите того, что вам нравится, вы можете создавать свои собственные пользовательские функции. Вот пара примеров:
Из примера SO
Anoter
Встроенный Firebird может быть хорошим выбором
Встроенная версия представляет собой удивительный вариант сервера. Это полнофункциональный сервер Firebird, упакованный всего в несколько файлов. Его очень легко развернуть, поскольку нет необходимости устанавливать сервер.
Есть несколько очень хороших сетевых драйверов
SQL Server Compact, если вы хотите использовать официальное решение Microsoft. Это дает преимущество использования репликации с SQL-сервером, если вам нужны такие вещи.
SQLite, если вы хотите чего-то очень простого, маленького и бесплатного. Это то, что Android использует для своих внутренних баз данных, поэтому он очень хорошо поддерживается и есть очень хорошие привязки .NET.
Одним из явных преимуществ SQLite является то, что он кроссплатформенный. Поэтому, если вы хотите перенести свое приложение в Mono.NET, вам не нужно вносить никаких изменений в реализацию базы данных.
Мне не нравится MS Access для этого решения, но многие люди включили его в свой ответ. Это ограничено из-за проприетарного формата и зависимости от платформы. У этого есть свои преимущества все же. Вы можете легко манипулировать данными, если у вас есть копия MS Access, вы можете строить запросы графически и создавать макросы. Вы можете легко интегрировать его с остальной частью MS Office.
Из всех этих SQLite я бы посоветовал, поскольку он настолько компактен, хорошо документирован и поддерживается растущей армией коллег-разработчиков, независимо от платформы.
РЕДАКТИРОВАТЬ
Я понял, что есть еще один вариант, который все здесь забыли упомянуть
Пока вам не нужны реляционные таблицы, вы можете использовать CSV-файл для чтения в качестве набора данных через ADO.NET. (Больше предложение lulz, чем что-либо другое, но в некоторых случаях подойдет и не требует дополнительных библиотек для развертывания MS.
Если вы создаете проект с .NET 4.0.2 или более поздней версии и хотите поддерживать встроенную базу данных, рассмотрите вариант SQL Server Express LocalDB .
Это относительно новое дополнение к семейству Express, которое имеет меньшую площадь установки и снижает накладные расходы на управление (по сравнению с другими выпусками Express), но поддерживает аспекты программируемости SQL Server. То есть, в отличие от Compact Edition, LocalDB не требует установки отдельного поставщика ADO.NET для взаимодействия с SQL.
Смотрите следующие подробности:
SQL Express v LocalDB v SQL Compact Edition (блоги MSDN)
SQL LocalDB против SQL Server CE (переполнение стека)
как насчет http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
в частности MongoDB для .Net
Вы можете использовать Sql Server Express Edition
его как бесплатное и одинаково мощное до тех пор, пока не захотите функциональность, подобную mirroring
и т. Д. Посмотрите на это .
Я использовал db4o с успехом.
Основанное на файлах большое сообщество, простое в использовании.
Детали лицензирования
Бесплатная общедоступная лицензия db4o по умолчанию распространяется под лицензией GPL.
Лицензия GPL идеальна, если вы планируете использовать db4o у себя дома или планируете разрабатывать и распространять свою собственную производную работу в качестве бесплатного программного обеспечения в рамках GPL.
Коммерческая лицензия Коммерческая лицензия требуется, если вы хотите встроить db4o в коммерческий продукт не-GPL. Коммерческие лицензиаты получают доступ к премиальным услугам и поддержке.
VistaDB - альтернатива, которая не была упомянута, если вам не требуется, чтобы она была бесплатной базой данных. Все это управляемый код, предоставляет множество функций для встроенной базы данных и предлагает довольно хорошую производительность. Довольно хороший мост между SQL CE и SQL Server Express, поскольку большинство ваших хранимых процедур VistaDB будут работать без изменений в SQL Server Express. Я был очень доволен обслуживанием клиентов на этом этапе. Я использовал это на работе. Нет услуг для запуска. Пустая БД составляет около 1 МБ, и DLL тоже довольно легковесна. Есть провайдеры ADO.NET и тому подобное. Мне понравилось это немного.