LiteDB ir ātra, vienkārša, nulles konfigurācijas, iegulta NoSQL datu bāze .Net. Tā ir laba izvēle vienkāršām lietojumprogrammām (tīmeklī, mobilajā ierīcē vai darbvirsmā), kur katram lietotājam var būt nepieciešams viens datu fails, bet nav jāatbalsta daudzas vienlaicīgas rakstīšanas darbības. Šajā rakstā ir sniegts pārskats par to, kā mēs varam strādāt ar šo datu bāzi, izmantojot C #.
Pirms sākam lietot LiteDB, apskatīsim dažus jēdzienus. LiteDB strādā ar dokumentiem un kolekcijām. Dokumenti tiek izmantoti datu glabāšanai un izgūšanai no datu faila un no tā. Ņemiet vērā, ka jūsu dokumenta definīcija var būt vai nu POCO klase, vai BsonDocument klase. Jebkurā gadījumā LiteDB pārveidos jūsu dokumentu BSON formātā, pirms tas tiek saglabāts datu bāzē.
LiteDB organizē dokumentus dokumentu veikalos, kas pazīstami kā kolekcijas. Starp citu, katra kolekcija tiek identificēta ar unikālu nosaukumu, un tajā ir viens vai vairāki dokumenti, kuriem ir tāda pati shēma. Lai strādātu ar dokumentiem, varat izmantot kolekcijas metodes. Šeit ir izmantoto metožu saraksts:
Ievietojiet
- izmantots, lai kolekcijai pievienotu jaunu dokumentuAtjaunināt
—Izmantots, lai atjauninātu esošu dokumentuDzēst
- tiek izmantots, lai izdzēstu dokumentuFindById
vaiAtrodiet
- izmanto, lai vaicātu dokumentuIekļaut
- izmanto, lai aizpildītu īpašumus no citām kolekcijāmEnsureIndex
- izmanto, lai izveidotu jaunu indeksu, ja tāda nav
Tā kā LiteDB ir bez servera datu bāze, tā nav jāinstalē savā sistēmā. Jums vienkārši jāpievieno atsauce uz LiteDB.dll failu jūsu projektā. Varat arī instalēt LiteDB, izmantojot Visual Studio NuGet pakešu pārvaldnieku vai ierakstot šo komandu komandrindas rīkā NuGet Package Manager.
> Install-Package LiteDB
Izveidojiet POCO klasi LiteDB C #
Visual Studio izveidojiet jaunu konsoles lietojumprogrammas projektu un saglabājiet to ar nosaukumu. Tagad izveidosim POCO klasi, kuru izmantosim, lai izveidotu stingri ierakstītu dokumentu. Ņemiet vērā, ka mums vajadzētu būt Id
nosauktais īpašums mūsu klasē darbam ar LiteDB. Alternatīvi, mēs varam arī izrotāt jebkuru mūsu klases īpašumu ar [BsonId]
atribūts. Lūk Autors
klase, kuru mēs izmantotu šajā piemērā.
sabiedrības klase Autors{
public int Id {get; komplekts; }
publiskā virkne FirstName {get; komplekts; }
publiskā virkne Uzvārds {get; komplekts; }
}
The Id
īpašumam jābūt unikālam, nevis nulles vērtībai. Ja atstājat rekvizītu Id tukšu, LiteDB automātiski ģenerēs Id
ievietojot ierakstu.
Ievietojiet ierakstu LiteDB C #
Lai izveidotu jaunu, var izmantot šo koda fragmentu Autors
un ievietojiet ierakstu.
izmantojot (var db = jauna LiteDatabase (connectionString)){
var kolekcija = db.GetCollection (“autori”);
var autors = jauns autors
{
Vārds,
Uzvārds,
Adrese
};
kolekcija.Ievietot (autors);
}
Skatiet iepriekš minēto koda fragmentu. Ievērojiet, kā jauns LiteDatabase
tiek izveidots, nododot savienojuma virkni kā parametru. Šis paziņojums izgūst kolekciju vai izveido jaunu kolekciju, ja tādas nav. Zvans uz Ievietojiet
metode kolekcijas instancē automātiski ģenerē Id
rekvizītu un ievieto dokumentu datu bāzē.
Vaicājums LiteDB C #
Tagad, kad datu bāzē esat ievietojis jaunu ierakstu, varat to vaicāt, kā parādīts zemāk esošajā koda fragmentā.
izmantojot (var db = jauna LiteDatabase (connectionString)){
var kolekcija = db.GetCollection (“autori”);
var autors = kolekcija.FindById (1);
Console.WriteLine (autors.Vārda Vārds + “\ t” + autors.LastName);
}
Ņemiet vērā, ka FindById
metode atgriež dokumentu pēc tā Id
vai primārās atslēgas indekss. Jūs varat skaidri izveidot indeksu, izmantojot EnsureIndex
metodi, kā parādīts zemāk.
autori.EnsureIndex (“Vārds”);
Atjauniniet LiteDB dokumentu C #
Dokumenta atjaunināšana ir vienkārša. Jūs vienkārši maināt rekvizītu vērtības un pēc tam izsaucat Atjaunināt
metodi savākšanas instancē, kā parādīts zemāk.
var autors = kolekcija.FindById (1);autors. Adrese;
kolekcija. Atjaunināt (autors);
Ja vēlaties atrast visus autorus, kuri dzīvo noteiktā vietā, varat izmantot šo vaicājumu.
var results = collection.Find (x => x.Address.Contains (“Hyderabad”));
Ir vēl viena klase, ko sauc LiteRepository
tas atvieglo CRUD operāciju veikšanu. Šeit ir piemērs, kas ilustrē, kā jūs varat izmantot šo klasi.
izmantojot (var db = jauns LiteRepository (connectionString)){
db.Ievietot (jauns autors
{ Vārds Uzvārds,
Adrese });
}
Darbs ar failiem LiteDB
LiteDB nodrošina FileStorage
kolekcija darbam ar failiem. Failu augšupielāde vai lejupielāde ir vienkārša. Viss, kas jums jādara, ir izsaukt atbilstošo metodi vietnē FileStorage
kolekcija, kā parādīts zemāk esošajos koda fragmentos. Lai augšupielādētu failu:
db.FileStorage.Upload (“Autors-Foto”, @ ”C: \ Temp \ Joydip.jpg”); // Augšupielādē datubāzē failu
Lai lejupielādētu failu:
db.FileStorage.Download (“Autors-Foto”, @ ”C: \ Joydip.jpg”); // Lejupielādē failu failu sistēmā
Jāatzīmē, ka LiteDB izveido divas kolekcijas darbam ar failiem. Tie ietver _datnes
un _čuki
. Kolekcijā _files ir informācija, kas saistīta ar faila metadatiem un _čuki
satur datus, kas ir atbilstoši sadalīti glabāšanai.