Pracuję nad małym projektem (nie produkcyjnym), w którym muszę przechowywać wystarczającą ilość danych, aby coś takiego jak CSV było nieefektywne w przetwarzaniu, a serwer SQL / MySQL byłby zbyt duży. Czy .Net ma jakiś sposób na efektywne przechowywanie kilku wpisów danych z możliwością zapytania bez konieczności zarządzania i łączenia się z serwerem, zamiast ładowania i przetwarzania pojedynczego pliku.
12
List<foo>
)Odpowiedzi:
Istnieje kilka alternatyw, w żadnej kolejności:
Więcej pomysłów tutaj: /programming/3639846/what-is-a-good-embedded-database-to-use-with-c
źródło
Oprócz oferowanych opcji Sklivvz nie obawiaj się wyjść poza dziedzinę SQL i użyć wbudowanego zorientowanego obiektowo silnika bazy danych, takiego jak Sterling lub DB4O .
Oferują zalety polegające na tym, że są małe i oparte na plikach, można je osadzać w aplikacji, ale są również bardzo szybkie i łatwe do zaprogramowania.
źródło
SQLite będzie najlepszą opcją.
Jak napisano na ich stronie:
Wydaje się, że naprawdę tego szukasz!
Jest nawet pakiet Chocolatey, jeśli jesteś zbyt leniwy, aby go pobrać i zainstalować samodzielnie!
źródło
ADO.NET może serializować do formatu XML i ma prawie wszystkie funkcje RDBMS. (W każdym razie te tanie.)
Wiem, że jest „stary” i wygląda na pogardliwie, ale ADO.NET działa naprawdę dobrze w przypadku dokładnie tego, co opisujesz. Wykonuje nawet całkiem niezłą robotę, śledząc niezaangażowane zmiany.
Może być „Stary”, ale z pewnością nie jest „Rozerwany”. Ma jednak dość duży wpływ na pamięć, więc zadzwoń. 4000 rekordów nie będzie problemem.
źródło