Programavimas

Kaip dirbti su „LiteDB“ C #

„LiteDB“ yra greita, paprasta, nulinės konfigūracijos, įterpta „NetSQL“ duomenų bazė. Tai yra geras pasirinkimas paprastoms programoms (žiniatinkliui, mobiliesiems ar darbalaukiams), kur jums gali prireikti vieno duomenų failo vienam vartotojui, bet nereikia palaikyti daugelio vienu metu atliekamų rašymo operacijų. Šiame straipsnyje pateikiama apžvalga, kaip mes galime dirbti su šia duomenų baze naudodami C #.

Prieš pradėdami naudoti „LiteDB“, pažvelkime į kai kurias sąvokas. „LiteDB“ dirba su dokumentais ir kolekcijomis. Dokumentai naudojami duomenims saugoti ir gauti iš duomenų bylos ir iš jos. Atminkite, kad jūsų dokumento apibrėžimas gali būti POCO klasė arba „BsonDocument“ klasė. Bet kokiu atveju „LiteDB“ konvertuos jūsų dokumentą į BSON formatą, kol jis nebus saugomas duomenų bazėje.

„LiteDB“ tvarko dokumentus dokumentų parduotuvėse, vadinamose kolekcijomis. Beje, kiekviena kolekcija identifikuojama pagal unikalų pavadinimą ir joje yra vienas ar keli dokumentai, turintys tą pačią schemą. Norėdami dirbti su dokumentais, galite pasinaudoti rinkimo metodais. Čia pateikiamas naudojamų metodų sąrašas:

  • Įdėti- naudojamas pridėti naują dokumentą prie kolekcijos
  • Atnaujinti- naudojamas atnaujinti esamą dokumentą
  • Ištrinti—Naudojamas dokumentui ištrinti
  • „FindById“ arba Rasti- naudojamas norint pateikti užklausą dėl dokumento
  • Įtraukti—Naudojami kitų kolekcijų nuosavybėms užpildyti
  • „EnsureIndex“- naudojami kuriant naują indeksą, jei jo nėra

Kadangi „LiteDB“ yra duomenų bazė, kurioje nėra serverių, nereikia jos įdiegti savo sistemoje. Paprasčiausiai savo projekte turite pridėti nuorodą į failą LiteDB.dll. Arba galite įdiegti „LiteDB“ per „NuGet“ paketų tvarkytuvę „Visual Studio“ arba įvesdami šią komandą „NuGet Package Manager“ komandų eilutės įrankyje.

> „Install-Package LiteDB“

Sukurkite POCO klasę LiteDB C #

„Visual Studio“ sukurkite naują konsolės programos projektą ir išsaugokite jį pavadinimu. Dabar sukurkime POCO klasę, kurią naudosime kurdami labai tipizuotą dokumentą. Atkreipkite dėmesį, kad mes turėtume turėti Id pavadintas mūsų klasės turtas dirbti su „LiteDB“. Arba mes taip pat galime papuošti bet kurį savo klasės turtą [BsonId] atributas. Čia yra Autorius klasę, kurią naudotume šiame pavyzdyje.

visuomenės klasės Autorius

    {

public int Id {get; rinkinys; }

public string FirstName {get; rinkinys; }

vieša eilutė Pavardė {get; rinkinys; }

    }

Id nuosavybė turėtų būti unikali ir niekinė. Jei savybę Id paliksite tuščią, „LiteDB“ automatiškai sugeneruos Id įterpiant įrašą.

Įterpti įrašą LiteDB C #

Šį kodo fragmentą galima naudoti kuriant naują Autorius egzempliorių ir įterpti įrašą.

naudojant (var db = nauja LiteDatabase (connectionString))

    {

var kolekcija = db.GetCollection („autoriai“);

var autorius = naujas autorius

         {

Pirmas vardas,

Pavardė,

Adresas

          };

kolekcija.Įterpti (autorius);

     }

Žr. Aukščiau pateiktą kodo fragmentą. Atkreipkite dėmesį, kaip naujas „LiteDatabase“ yra sukurtas perduodant ryšio eilutę kaip parametrą. Šis sakinys gauna kolekciją arba sukuria naują kolekciją, jei jos nėra. Kvietimas į Įdėti metodas rinkimo egzemplioriuje automatiškai sugeneruoja Id ypatybę ir įterpia dokumentą į duomenų bazę.

Užklausa LiteDB C #

Dabar, kai į duomenų bazę įterpėte naują įrašą, galite pateikti užklausą, kaip parodyta žemiau esančiame kodo fragmente.

naudojant (var db = nauja LiteDatabase (connectionString))

   {

var kolekcija = db.GetCollection („autoriai“);

var autorius = kolekcija.FindById (1);

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

   }

Atkreipkite dėmesį, kad „FindById“ metodas grąžina dokumentą pagal jį Id arba pirminio rakto indeksas. Galite aiškiai sukurti indeksą naudodami „EnsureIndex“ metodas, kaip parodyta žemiau.

autoriai.EnsureIndex („Vardas“);

Atnaujinkite „LiteDB“ dokumentą C #

Dokumentą atnaujinti paprasta. Paprasčiausiai pakeisite nuosavybės vertes ir paskambinsite Atnaujinti metodas rinkimo egzemplioriuje, kaip parodyta žemiau.

var autorius = kolekcija.FindById (1);

autorius.Adresas;

kolekcija. Atnaujinti (autorius);

Jei norite rasti visus autorius, gyvenančius tam tikroje vietoje, galite naudoti šią užklausą.

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

Yra dar viena klasė, vadinama „Lite“ saugykla tai šiek tiek palengvina CRUD operacijų atlikimą. Štai pavyzdys, iliustruojantis, kaip galite naudoti šią klasę.

naudojant (var db = nauja LiteRepository (connectionString))

            {

db. Įterpti (naujas autorius

{ Vardas Pavardė,

Adresas});

            }

Darbas su failais „LiteDB“

LiteDB teikia „FileStorage“ kolekcija darbui su failais. Failų įkėlimas ar atsisiuntimas yra paprastas. Viskas, ką jums reikia padaryti, tai paskambinti tinkamu metodu „FileStorage“ rinkinį, kaip parodyta toliau pateiktuose kodo fragmentuose. Norėdami įkelti failą:

db.FileStorage.Upload („Autorius-nuotrauka“, @ “C: \ Temp \ Joydip.jpg“); // Įkelia failą į duomenų bazę
Norėdami atsisiųsti failą:
db.FileStorage.Download („Autorius-nuotrauka“, @ “C: \ Joydip.jpg“); // Atsisiunčia failą į failų sistemą

Reikėtų pažymėti, kad „LiteDB“ sukuria dvi kolekcijas darbui su failais. Jie apima _files ir _chunks. „_Files“ rinkinyje yra informacijos, susijusios su failo metaduomenimis, ir _chunks yra duomenų, kurie yra tinkamai padalyti saugojimui.