Odpowiedzi:
14/06/2016 Tak ... wciąż zyskuje głosy: - /
17.03.2014 Nadal otrzymuję za to głosowanie, pamiętaj o dacie, na którą pierwotnie udzielono odpowiedzi. Chociaż trzy główne wymienione elementy są nadal w pełni opłacalne, lista będzie miała tendencję do starzenia się. Istnieją inne technologie baz danych, których nie ma na liście.
Masz kilka natychmiast rozpoznawalnych i bezpłatnych opcji:
Pobieranie SQL Server Compact jest dostarczane z dostawcą ADO.NET, do którego należy odwoływać się w kodzie. Pobieranie SQLite może go nie mieć, więc tutaj jest link:
http://sqlite.phxsoftware.com/
Wszystkie trzy używają SQL, choć prawdopodobnie z kilkoma ograniczeniami / dziwactwami. Management Studio współpracuje z Compact i LocalDB, natomiast z SQLite potrzebujesz innego narzędzia interfejsu użytkownika, takiego jak SQLite Administrator:
http://sqliteadmin.orbmu2k.de/
Istnieją alternatywy NoSQL, takie jak:
Osobiście unikałbym używania MS Access w obliczu innych bezpłatnych opcji. Nie możesz się pomylić z LocalDB, Compact lub SQLite. Wszystkie są uroczymi małymi bazami danych, które działają stosunkowo szybko w małej ilości pamięci RAM - osobiście preferuję aspekty religijne związane z lubieniem produktu Microsoft :-)
Korzystam z programowania Sterling dla systemu Windows Phone, ponieważ jest on zbudowany do korzystania z magazynu izolowanego. Widziałem tylko artykuły na temat RavenDb, ale mogę powiedzieć, że jest to platforma do przechowywania dokumentów oparta na JSON.
Aby nie pomylić sytuacji (przejdź do SQLite, SQL Server Express LocalDB lub SQL Server Compact Edition), ale istnieją inne osadzone / lokalne bazy danych, niektóre są relacyjne, inne są zorientowane obiektowo:
Nie wszystkie z nich są bezpłatne. Obsługa SQL / LINQ / in-proc różni się między sobą. Ta lista jest tylko dla ciekawości.
Teraz jest też karvonite , jednak link do galerii kodów jest zepsuty. Kiedy znów będzie na żywo, przyjrzę się temu rozwojowi WP7.
Polecam SQLite . Używamy go do prawie wszystkich aplikacji, które tworzymy tam, gdzie pracuję.
Jest mały i kompaktowy. Wymaga biblioteki DLL znajdującej się w katalogu aplikacji, ale nie trzeba instalować innego oprogramowania, takiego jak Access lub SQL Server. Ponadto, jak stwierdził danielkza poniżej, „SQLite jest własnością publiczną, więc nie musisz się martwić o licencje”. To naprawdę może zrobić dużą różnicę.
Możesz użyć System.Data.SQLite lub csharp-sqlite, aby uzyskać do niego dostęp w aplikacji C # przy użyciu tych samych metod, jak SQL lub OleDB.
Będziesz także potrzebować aplikacji do edycji / zarządzania bazą danych. Moim zdaniem najlepszy jest SQLite Studio . Oto kilka innych:
Administrator
SQLite SQLite 2009 Pro (na dole strony)
Aktualizacja - 25.07.11 - Więcej aplikacji SQLite (pytanie tutaj na SO)
Oto więcej na temat SQLite:
SQLite na Wikipedii
Firmy używające SQLite
Funkcje niestandardowe: Dodatkowo, jeśli szukasz funkcji SQLite Core i nie widzisz takiej, którą lubisz, możesz tworzyć własne funkcje niestandardowe. Oto kilka przykładów:
Z przykładu SO
Anoter
Osadzony Firebird może być dobrym wyborem
Wersja osadzona to niesamowita odmiana serwera. Jest to w pełni funkcjonalny serwer Firebird spakowany w zaledwie kilku plikach. Jest bardzo łatwy do wdrożenia, ponieważ nie ma potrzeby instalowania serwera.
Istnieje kilka bardzo dobrych sterowników sieci kropkowej
SQL Server Compact, jeśli chcesz korzystać z oficjalnego rozwiązania Microsoft. Ma to tę zaletę, że można użyć replikacji z serwerem SQL, jeśli tego potrzebujesz.
SQLite, jeśli chcesz coś bardzo prostego, małego i darmowego. To właśnie wykorzystuje Android w swoich wewnętrznych bazach danych, więc jest bardzo dobrze obsługiwany i dostępne są bardzo dobre powiązania .NET.
Jedną wyraźną zaletą SQLite jest to, że jest on wieloplatformowy. Więc jeśli chcesz przenieść swoją aplikację do Mono.NET, nie będziesz musiał wprowadzać żadnych modyfikacji w implementacji bazy danych.
Nie podoba mi się MS Access dla tego rozwiązania, ale wiele osób włączyło go do swojej odpowiedzi. Jest ograniczony ze względu na zastrzeżony format i zależność od platformy. Ma jednak swoje zalety. Możesz łatwo manipulować danymi, jeśli masz kopię MS Access, możesz tworzyć zapytania graficznie i tworzyć makra. Możesz łatwo zintegrować go z resztą MS Office.
Ze wszystkich tych SQLite byłbym moim zaleceniem, ponieważ jest tak kompaktowy, dobrze udokumentowany i wspierany przez rosnącą armię innych programistów bez względu na platformę.
EDYTOWAĆ
Uświadomiłem sobie, że istnieje inna opcja, o której wszyscy tutaj zapomnieli
Tak długo, jak nie potrzebujesz tabel relacyjnych, możesz użyć pliku CSV odczytywanego jako zestaw danych przez ADO.NET. (Więcej sugestii Lulz niż cokolwiek innego, ale byłoby odpowiednie w niektórych przypadkach i nie wymaga dodatkowych bibliotek do wdrożenia MS.
Jeśli budujesz projekt z .NET 4.0.2 lub nowszym i chcesz obsługiwać wbudowaną bazę danych, rozważ SQL Server Express LocalDB .
Jest to stosunkowo nowy dodatek do rodziny Express, który cechuje się mniejszą instalacją i mniejszym nakładem zarządzania (w porównaniu z innymi edycjami Express), ale zachowuje aspekty programistyczne SQL Server. Oznacza to, że w przeciwieństwie do Compact Edition, LocalDB nie wymaga instalacji osobnego dostawcy ADO.NET do komunikacji z SQL.
Więcej informacji:
SQL Express v LocalDB v SQL Compact Edition (blogi MSDN)
SQL LocalDB kontra SQL Server CE (przepełnienie stosu)
co z http://en.wikipedia.org/wiki/NoSQL_(RDBMS) ?
w szczególności MongoDB dla .Net
Możesz użyć Sql Server Express Edition
jako darmowy i jest równie potężny, dopóki nie chcesz funkcjonalności takiej jak mirroring
itp. Spójrz na to .
Z powodzeniem wykorzystałem db4o.
Oparta na plikach, duża społeczność, prosta w obsłudze.
Szczegóły dotyczące licencjonowania
Darmowa ogólna licencja publiczna db4o jest domyślnie licencjonowana na licencji GPL.
Licencja GPL jest idealna, jeśli planujesz używać db4o we własnym zakresie lub planujesz opracowywać i rozpowszechniać własną pracę pochodną jako wolne oprogramowanie również na licencji GPL.
Licencja komercyjna Licencja komercyjna jest wymagana, jeśli chcesz osadzić db4o w komercyjnym produkcie innym niż GPL. Licencjobiorcy komercyjni uzyskują dostęp do usług premium i wsparcia.
Alternatywą, o której nie wspomniano, jeśli nie jest wymagana bezpłatna baza danych, jest VistaDB. To wszystko zarządzany kod, zapewnia mnóstwo funkcji dla wbudowanej bazy danych i oferuje całkiem dobrą wydajność. Całkiem dobry pomost między SQL CE i SQL Server Express, ponieważ większość procedur przechowywanych w VistaDB będzie działać bez modyfikacji w SQL Server Express. W tym momencie jestem również bardzo zadowolony z obsługi klienta. Używam go w pracy. Brak usług do uruchomienia. Pusty DB ma około 1 MB, a DLL jest także dość lekki. Ma dostawców ADO.NET i takie rzeczy. Trochę mi się podobało.
SQL Server Express lub MS Access