Ohjelmointi

Kuinka työskennellä LiteDB: n kanssa C #: ssä

LiteDB on nopea, yksinkertainen, nollakokoonpano, upotettu NoSQL-tietokanta .Net-tiedostolle. Se on hyvä valinta yksinkertaisille sovelluksille (verkko, mobiili tai työpöytä), joissa saatat tarvita yhden datatiedoston käyttäjää kohti, mutta sinun ei tarvitse tukea useita samanaikaisia ​​kirjoitusoperaatioita. Tässä artikkelissa on yleiskatsaus siitä, miten voimme työskennellä tämän tietokannan kanssa C #: n avulla.

Ennen kuin aloitamme LiteDB: n käytön, katsotaanpa joitain käsitteitä. LiteDB toimii asiakirjojen ja kokoelmien kanssa. Asiakirjoja käytetään tietojen tallentamiseen ja hakemiseen datatiedostoon ja sieltä. Huomaa, että asiakirjan määritelmä voi olla joko POCO-luokka tai BsonDocument-luokka. Joko niin, LiteDB muuntaa asiakirjan BSON-muotoon ennen kuin se on tallennettu tietokantaan.

LiteDB järjestää asiakirjat asiakirjakaupoissa, jotka tunnetaan nimellä kokoelmat. Jokainen kokoelma on muuten yksilöity yksilöllisellä nimellä ja sisältää yhden tai useampia asiakirjoja, joilla on sama kaava. Voit työskennellä asiakirjojen kanssa hyödyntämällä keräämisen menetelmiä. Tässä on luettelo menetelmistä, joita voit käyttää:

  • Lisää- käytetään uuden asiakirjan lisäämiseen kokoelmaan
  • Päivittää- käytetään päivittämään olemassa olevaa asiakirjaa
  • Poistaa- käytetään asiakirjan poistamiseen
  • FindById tai löytö- käytetään asiakirjan kyselyyn
  • Sisältää- käytetään muiden kokoelmien ominaisuuksien täyttämiseen
  • VarmistaIndex- käytetään uuden hakemiston luomiseen, jos sitä ei ole olemassa

Koska LiteDB on palvelimeton tietokanta, sitä ei tarvitse asentaa järjestelmään. Lisää yksinkertaisesti viite LiteDB.dll-tiedostoon projektissasi. Vaihtoehtoisesti voit asentaa LiteDB: n Visual Studion NuGet Package Managerin kautta tai kirjoittamalla seuraavan komennon NuGet Package Manager -komentorivityökaluun.

> Install-Package LiteDB

Luo POCO-luokka LiteDB: ssä C #

Luo uusi konsolisovellusprojekti Visual Studiossa ja tallenna se nimellä. Luodaan nyt POCO-luokka, jota käytämme luodaksemme vahvasti kirjoitetun asiakirjan. Huomaa, että meillä pitäisi olla Id nimetty kiinteistö luokassamme työskentelemään LiteDB: n kanssa. Vaihtoehtoisesti voimme myös sisustaa minkä tahansa luokkamme kiinteistön [BsonId] määritteen. Tässä on Kirjoittaja luokassa, jota käytämme tässä esimerkissä.

public class Kirjoittaja

    {

julkinen int Id {get; aseta; }

julkinen merkkijono Etunimi {get; aseta; }

julkinen merkkijono Sukunimi {get; aseta; }

    }

Id Ominaisuuden tulee olla ainutlaatuinen eikä mitätön. Jos jätät Id-ominaisuuden tyhjäksi, LiteDB luo automaattisesti Id kun lisäät tietueen.

Lisää tietue LiteDB: hen C #

Seuraavaa koodinpätkää voidaan käyttää uuden luomiseen Kirjoittaja ja lisää tietue.

käyttäen (var db = uusi LiteDatabase (connectionString))

    {

var-kokoelma = db.GetCollection ("kirjoittajat");

var author = uusi kirjoittaja

         {

Etunimi,

Sukunimi,

Osoite

          };

kokoelma.Lisää (tekijä);

     }

Katso yllä oleva koodinpätkä. Huomaa, kuinka uusi LiteDatabase luodaan välittämällä yhteysmerkkijono parametrina. Seuraava lause noutaa kokoelman tai luo uuden kokoelman, jos sellaista ei ole. Kutsu Lisää - menetelmä keräysinstanssissa tuottaa automaattisesti arvon Id ominaisuus ja lisää asiakirja tietokantaan.

Kysely LiteDB C #: ssä

Nyt kun olet lisännyt uuden tietueen tietokantaan, voit tehdä siitä kyselyn alla olevan koodinpätkän mukaisesti.

käyttäen (var db = uusi LiteDatabase (connectionString))

   {

var-kokoelma = db.GetCollection ("kirjoittajat");

var author = kokoelma.FindById (1);

Console.WriteLine (tekijä.Etänimi + “\ t” + kirjoittaja.Sukunimi);

   }

Huomaa, että FindById method palauttaa asiakirjan sen avulla Id tai ensisijaisen avaimen hakemisto. Voit luoda nimenomaisesti hakemiston VarmistaIndex menetelmällä alla olevan kuvan mukaisesti.

kirjoittajat.EnsureIndex (“Etunimi”);

Päivitä asiakirja LiteDB: ssä C #: ssä

Asiakirjan päivittäminen on helppoa. Sinun tarvitsee vain muuttaa ominaisuusarvoja ja soittaa sitten Päivittää menetelmä keräysinstanssissa alla olevan kuvan mukaisesti.

var author = kokoelma.FindById (1);

kirjailija. osoite;

kokoelma.Päivitys (tekijä);

Jos haluat löytää kaikki kirjoittajat, jotka asuvat tietyssä paikassa, voit käyttää seuraavaa kyselyä.

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

On toinen luokka nimeltä LiteRepository mikä tekee CRUD-operaatioiden suorittamisesta hieman helpompaa. Tässä on esimerkki, joka kuvaa, kuinka voit käyttää tätä luokkaa.

käyttäen (var db = uusi LiteRepository (connectionString))

            {

db.Insert (uusi kirjailija

{ Etunimi Sukunimi,

Osoite});

            }

Työskentely tiedostojen kanssa LiteDB: ssä

LiteDB tarjoaa FileStorage kokoelma tiedostojen käsittelyä varten. Tiedostojen lataaminen tai lataaminen on helppoa. Sinun tarvitsee vain kutsua sopiva menetelmä FileStorage kokoelma alla olevien koodikatkelmien mukaisesti. Tiedoston lataaminen:

db.FileStorage.Upload ("Kirjoittaja-valokuva", @ "C: \ Temp \ Joydip.jpg"); // Lataa tiedosto tietokantaan
Tiedoston lataaminen:
db.FileStorage.Download ("Kirjoittaja-valokuva", @ "C: \ Joydip.jpg"); // Lataa tiedosto tiedostojärjestelmään

On huomattava, että LiteDB luo kaksi kokoelmaa toimiakseen tiedostojen kanssa. Nämä sisältävät _tiedostot ja _palat. _Files-kokoelma sisältää tietoja tiedoston metatiedoista ja _palat sisältää tietoja, jotka on jaettu asianmukaisesti tallennusta varten.