Programovanie

Ako pracovať s LiteDB v C #

LiteDB je rýchla, jednoduchá, zabudovaná databáza NoSQL s nulovou konfiguráciou pre sieť .Net. Je to dobrá voľba pre jednoduché aplikácie (webové, mobilné alebo desktopové), kde môžete potrebovať jeden dátový súbor na používateľa, ale nemusíte podporovať veľa súbežných operácií zápisu. Tento článok predstavuje prehľad toho, ako môžeme pracovať s touto databázou pomocou C #.

Predtým, ako začneme používať LiteDB, pozrime sa na niektoré z konceptov. LiteDB pracuje s dokumentmi a zbierkami. Dokumenty sa používajú na ukladanie a načítanie údajov do az dátových súborov. Upozorňujeme, že definíciou vášho dokumentu môže byť buď trieda POCO, alebo trieda BsonDocument. Či tak alebo onak, LiteDB prevedie váš dokument do formátu BSON skôr, ako bude uložený v databáze.

LiteDB organizuje dokumenty v úložiskách dokumentov známe ako zbierky. Mimochodom, každá kolekcia je identifikovaná jedinečným názvom a obsahuje jeden alebo viac dokumentov, ktoré zdieľajú rovnakú schému. Pri práci s dokumentmi môžete využiť metódy zhromažďovania. Tu je zoznam metód, ktoré môžete použiť:

  • Vložte—Používa sa na pridanie nového dokumentu do zbierky
  • Aktualizácia—Používa sa na aktualizáciu existujúceho dokumentu
  • Odstrániť—Používa sa na odstránenie dokumentu
  • FindById alebo Nájsť—Používa sa na dopytovanie dokumentu
  • Zahrnúť—Používa sa na vyplnenie vlastností z iných kolekcií
  • EnsureIndex—Používa sa na vytvorenie nového indexu, ak neexistuje

Pretože LiteDB je bezserverová databáza, nemusíte ju do svojho systému inštalovať. Jednoducho pridáte odkaz na súbor LiteDB.dll vo svojom projekte. Alternatívne môžete LiteDB nainštalovať pomocou správcu balíkov NuGet v Visual Studio alebo zadaním nasledujúceho príkazu do nástroja príkazového riadku balíka NuGet.

> Inštalačný balík LiteDB

Vytvorte triedu POCO v LiteDB v C #

Vytvorte nový projekt konzolovej aplikácie v Visual Studio a uložte ho s názvom. Poďme teraz vytvoriť triedu POCO, ktorú použijeme na vytvorenie dokumentu so silnými typmi. Všimnite si, že by sme mali mať Id pomenovanú vlastnosť v našej triede na prácu s LiteDB. Prípadne môžeme tiež ktorúkoľvek nehnuteľnosť v našej triede vyzdobiť znakom [BsonId] atribút. Tu je Autor triedy, ktorú by sme použili v tomto príklade.

verejná trieda Autor

    {

public int Id {get; sada; }

verejný reťazec FirstName {get; sada; }

verejný reťazec Priezvisko {get; sada; }

    }

The Id vlastnosť by mala byť jedinečná a nemala by mať hodnotu null. Ak necháte vlastnosť Id prázdnu, LiteDB automaticky vygeneruje Id pri vkladaní záznamu.

Vložte záznam do LiteDB v C #

Nasledujúci útržok kódu možno použiť na vytvorenie nového Autor inštanciu a vložte záznam.

pomocou (var db = nová LiteDatabase (connectionString))

    {

var collection = db.GetCollection („autori“);

var autor = nový autor

         {

Krstné meno,

Priezvisko,

Adresa

          };

zbierka. Vložiť (autor);

     }

Prečítajte si útržok kódu vyššie. Všimnite si, ako nová inštancia súboru LiteDatabase sa vytvorí odovzdaním pripojovacieho reťazca ako parametra. Nasledujúci príkaz načíta kolekciu alebo vytvorí novú kolekciu, ak žiadna neexistuje. Výzva na Vložte metóda na inštancii kolekcie automaticky generuje hodnotu súboru Id vlastnosť a vloží dokument do databázy.

Dotaz na LiteDB v C #

Teraz, keď ste vložili nový záznam do databázy, môžete ho vyhľadávať, ako je uvedené v útržku kódu nižšie.

pomocou (var db = nová LiteDatabase (connectionString))

   {

var collection = db.GetCollection („autori“);

var autor = zbierka.FindById (1);

Console.WriteLine (author.FirstName + „\ t“ + author.LastName);

   }

Všimnite si, že FindById metóda vráti dokument podľa jeho Id alebo index primárneho kľúča. Index môžete explicitne vytvoriť pomocou EnsureIndex metóda uvedená nižšie.

autori.EnsureIndex („Meno“);

Aktualizácia dokumentu v LiteDB v C #

Aktualizácia dokumentu je jednoduchá. Jednoducho zmeníte hodnoty vlastnosti a potom zavoláte Aktualizácia metóda na inštancii kolekcie, ako je uvedené nižšie.

var autor = zbierka.FindById (1);

autor. Adresa;

zbierka. Aktualizácia (autor);

Ak chcete nájsť všetkých autorov, ktorí žijú na konkrétnom mieste, môžete použiť nasledujúci dotaz.

var results = collection.Find (x => x.Address.Contains („Hyderabad“));

Existuje ešte jedna trieda tzv LiteRepository čo uľahčuje vykonávanie operácií CRUD. Tu je príklad, ktorý ilustruje, ako môžete používať túto triedu.

pomocou (var db = nový LiteRepository (connectionString))

            {

db.Insert (nový autor

{ Meno Priezvisko,

Adresa});

            }

Práca so súbormi v LiteDB

LiteDB poskytuje FileStorage zbierka na prácu so súbormi. Nahrávanie alebo sťahovanie súborov je jednoduché. Musíte len zavolať príslušnú metódu na FileStorage ako je uvedené v úryvkoch kódu nižšie. Postup nahrania súboru:

db.FileStorage.Upload („Autor-fotografia“, @ „C: \ Temp \ Joydip.jpg“); // Načíta súbor do databázy
Postup stiahnutia súboru:
db.FileStorage.Download („Autor-fotografia“, @ „C: \ Joydip.jpg“); // Stiahne súbor do systému súborov

Je potrebné poznamenať, že LiteDB vytvára dve kolekcie pre prácu so súbormi. Tie obsahujú _súbory a _chunks. Zbierka _files obsahuje informácie týkajúce sa metadát súboru a _chunks obsahuje údaje, ktoré sú vhodne rozdelené pre ukladanie.

$config[zx-auto] not found$config[zx-overlay] not found