Відповіді:
14/06/2016 Так ... все ще отримують результати: - /
17.03.2014 Я все ще отримую висновки за це, пам’ятайте про дату, на яку було відповідено спочатку. Хоча основні три перелічені пункти все ще є повністю життєздатними, перелік буде схильний до того, що він стає невдалим. Існують додаткові технології баз даних, які не перераховані.
У вас є кілька негайно впізнаваних і безкоштовних варіантів:
Завантаження SQL Server Compact постачається з постачальником ADO.NET, на який вам потрібно буде вказати код. Можливо, у завантаження SQLite його немає, ось ось посилання:
http://sqlite.phxsoftware.com/
Усі троє використовують SQL, хоча, ймовірно, з кількома обмеженнями / примхами. Студія управління працює з Compact і LocalDB, тоді як для SQLite вам знадобиться інший інструмент інтерфейсу, такий як SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Є альтернативи NoSQL, такі як:
Особисто я б уникав використання MS Access на тлі інших безкоштовних варіантів. Ви не можете помилитися з LocalDB, Compact або SQLite. Всі вони є прекрасними невеликими базами даних, які відносно швидко працюють у невеликій оперативній пам’яті - особисті переваги щодо релігійних аспектів щодо сподобання продукту Microsoft, я думаю :-)
Я використовую Sterling для програмування Windows Phone, оскільки він створений для використання Isolated Storage. Я бачив лише статті про RavenDb, але можу вам сказати, що це база зберігання документів на JSON.
Не плутати ситуацію (перейти з SQLite, SQL Server Express LocalDB або SQL Server Compact Edition), але там є інші вбудовані / локальні бази даних, деякі є реляційними, інші об'єктно-орієнтовані:
Не всі з них є безкоштовними. Підтримка SQL / LINQ / in-proc відрізняється у всіх. Цей список лише для цікавості.
Зараз також є Karvonite , проте посилання на галерею кодів порушено. Коли він знову з’явиться в прямому ефірі, я розглядаю цю проблему для розробки WP7.
Я б рекомендував SQLite . Ми використовуємо його майже для всіх програм, які ми розробляємо, де я працюю.
Він невеликий і компактний. Це вимагає, щоб DLL знаходилася в каталозі додатків, але вам не доведеться встановлювати інше програмне забезпечення, як Access або SQL Server. Також, як зазначено нижче в даніелькза, "SQLite є загальнодоступним доступом, тому вам не доведеться турбуватися про ліцензування взагалі". Це дійсно може мати велике значення.
Ви можете використовувати System.Data.SQLite або csharp-sqlite, щоб отримати доступ до нього в додатку C #, використовуючи ті самі методи, що і у SQL або OleDB.
Вам також знадобиться програма для редагування / управління базою даних. Найкращий на мою думку - SQLite Studio . Ось ще декілька:
SQLite Admin
SQLite 2009 Pro (внизу сторінки)
Оновлення - 25.07.2011 - Більше додатків SQLite (питання тут про ТАК)
Ось більше про 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 була б моя рекомендація, оскільки він настільки компактний, добре документований і підтримується зростаючою армією колег-розробників незалежно від платформи.
EDIT
Я зрозумів, що є ще один варіант, про який тут усі забули згадати
Поки вам не потрібні реляційні таблиці, ви можете використовувати файл CSV, прочитаний як набір даних через ADO.NET. (Більш приємна пропозиція, ніж будь-що інше, але в деяких випадках підходить і не потребує додаткових бібліотек для розгортання 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 і подібні речі. Мені це сподобалось трохи.