Προγραμματισμός

Πώς να εργαστείτε με το LiteDB στο C #

Το LiteDB είναι μια γρήγορη, απλή, μηδενική διαμόρφωση, ενσωματωμένη βάση δεδομένων NoSQL για το .Net. Είναι μια καλή επιλογή για απλές εφαρμογές (ιστός, κινητό ή επιτραπέζιος υπολογιστής) όπου μπορεί να χρειαστείτε ένα αρχείο δεδομένων ανά χρήστη, αλλά δεν χρειάζεται να υποστηρίξετε πολλές ταυτόχρονες εργασίες εγγραφής. Αυτό το άρθρο παρουσιάζει μια επισκόπηση για το πώς μπορούμε να εργαστούμε με αυτήν τη βάση δεδομένων χρησιμοποιώντας το C #.

Προτού αρχίσουμε να χρησιμοποιούμε το LiteDB, ας ρίξουμε μια ματιά σε μερικές από τις έννοιες. Το LiteDB λειτουργεί με έγγραφα και συλλογές. Τα έγγραφα χρησιμοποιούνται για την αποθήκευση και ανάκτηση δεδομένων από και προς ένα αρχείο δεδομένων. Σημειώστε ότι ο ορισμός του εγγράφου σας μπορεί να είναι είτε κλάση POCO είτε κλάση BsonDocument. Σε κάθε περίπτωση, το LiteDB θα μετατρέψει το έγγραφό σας σε μορφή BSON προτού αποθηκευτεί στη βάση δεδομένων.

Το LiteDB οργανώνει τα έγγραφα μέσα σε καταστήματα εγγράφων γνωστά ως συλλογές. Παρεμπιπτόντως, κάθε συλλογή προσδιορίζεται από ένα μοναδικό όνομα και περιέχει ένα ή περισσότερα έγγραφα που έχουν το ίδιο σχήμα. Για να εργαστείτε με έγγραφα, μπορείτε να επωφεληθείτε από τις μεθόδους της συλλογής. Εδώ είναι η λίστα των μεθόδων που μπορείτε να χρησιμοποιήσετε:

  • Εισάγετε—Χρησιμοποιήθηκε για να προσθέσει ένα νέο έγγραφο στη συλλογή
  • Εκσυγχρονίζω—Χρησιμοποιήθηκε για την ενημέρωση ενός υπάρχοντος εγγράφου
  • Διαγράφω—Χρησιμοποιήθηκε για να διαγράψετε ένα έγγραφο
  • FindById ή Εύρημα—Χρησιμοποιήθηκε για ερώτημα ενός εγγράφου
  • Περιλαμβάνω- χρησιμοποιείται για τη συμπλήρωση ιδιοτήτων από άλλες συλλογές
  • EnsureIndex—Χρησιμοποιήθηκε για να δημιουργήσει ένα νέο ευρετήριο εάν δεν υπάρχει

Επειδή το LiteDB είναι μια βάση δεδομένων χωρίς διακομιστή, δεν χρειάζεται να την εγκαταστήσετε στο σύστημά σας. Απλά προσθέτετε μια αναφορά στο αρχείο LiteDB.dll στο έργο σας. Εναλλακτικά, μπορείτε να εγκαταστήσετε το LiteDB μέσω του NuGet Package Manager στο Visual Studio ή πληκτρολογώντας την ακόλουθη εντολή στο εργαλείο γραμμής εντολών του NuGet Package Manager.

> Εγκατάσταση-πακέτο LiteDB

Δημιουργήστε μια τάξη POCO στο LiteDB σε C #

Δημιουργήστε ένα νέο έργο εφαρμογής κονσόλας στο Visual Studio και αποθηκεύστε το με ένα όνομα. Ας δημιουργήσουμε τώρα μια τάξη POCO που θα την χρησιμοποιήσουμε για να δημιουργήσουμε ένα έντονα δακτυλογραφημένο έγγραφο. Σημειώστε ότι πρέπει να έχουμε ένα Ταυτότητα ονομάζεται ιδιοκτησία στην τάξη μας για να συνεργαστούμε με το LiteDB. Εναλλακτικά, μπορούμε επίσης να διακοσμήσουμε οποιαδήποτε ιδιοκτησία στην τάξη μας με το [BsonId] Χαρακτηριστικό. Εδώ είναι το Συντάκτης τάξη που θα χρησιμοποιούσαμε σε αυτό το παράδειγμα.

δημόσια τάξη Συγγραφέας

    {

δημόσιο int Id {get; σειρά; }

δημόσια συμβολοσειρά FirstName {get; σειρά; }

δημόσια συμβολοσειρά LastName {get; σειρά; }

    }

ο Ταυτότητα η ιδιοκτησία πρέπει να είναι μοναδική και όχι μηδενική. Εάν αφήσετε την ιδιότητα Id κενή, το LiteDB θα δημιουργήσει αυτόματα το Ταυτότητα κατά την εισαγωγή μιας εγγραφής.

Εισαγωγή εγγραφής στο LiteDB σε C #

Το παρακάτω απόσπασμα κώδικα μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός νέου Συντάκτης παρουσία και εισαγάγετε μια εγγραφή.

χρήση (var db = νέο LiteDatabase (connectionString))

    {

var συλλογή = db.GetCollection ("συγγραφείς");

var author = νέος συντάκτης

         {

Ονομα,

Επίθετο,

Διεύθυνση

          };

συλλογή. Εισαγωγή (συγγραφέας);

     }

Ανατρέξτε στο παραπάνω απόσπασμα κώδικα. Σημειώστε πώς μια νέα παρουσία του Βάση δεδομένων Lite δημιουργείται περνώντας τη συμβολοσειρά σύνδεσης ως παράμετρο. Η ακόλουθη δήλωση ανακτά μια συλλογή ή δημιουργεί μια νέα συλλογή εάν δεν υπάρχει. Η κλήση προς το Εισάγετε Η μέθοδος στην παρουσία συλλογής δημιουργεί αυτόματα την τιμή του Ταυτότητα ιδιότητα και εισάγει το έγγραφο στη βάση δεδομένων.

Ερώτημα LiteDB σε C #

Τώρα που έχετε εισαγάγει μια νέα εγγραφή στη βάση δεδομένων, μπορείτε να το ζητήσετε όπως φαίνεται στο απόσπασμα κώδικα παρακάτω.

χρήση (var db = νέο LiteDatabase (connectionString))

   {

var συλλογή = db.GetCollection ("συγγραφείς");

var author = collection.FindById (1);

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

   }

Σημειώστε ότι το FindById Η μέθοδος επιστρέφει το έγγραφο από το Ταυτότητα ή το πρωτεύον κλειδί ευρετήριο. Μπορείτε να δημιουργήσετε ρητά ένα ευρετήριο χρησιμοποιώντας το EnsureIndex μέθοδο όπως φαίνεται παρακάτω.

author.EnsureIndex ("Όνομα");

Ενημέρωση εγγράφου στο LiteDB σε C #

Η ενημέρωση ενός εγγράφου είναι απλή. Απλώς αλλάζετε τις τιμές ιδιοτήτων και, στη συνέχεια, καλέστε το Εκσυγχρονίζω μέθοδο για την παρουσία συλλογής όπως φαίνεται παρακάτω.

var author = collection.FindById (1);

συγγραφέας. Διεύθυνση;

συλλογή. Ενημέρωση (συγγραφέας);

Εάν θέλετε να βρείτε όλους τους συγγραφείς που ζουν σε μια συγκεκριμένη τοποθεσία, μπορείτε να χρησιμοποιήσετε το ακόλουθο ερώτημα.

var αποτελέσματα = συλλογή.Βρείτε (x => x.Address.Contains ("Hyderabad"));

Υπάρχει μια άλλη τάξη που ονομάζεται LiteRepository που καθιστά λίγο πιο εύκολο να εκτελέσετε λειτουργίες CRUD. Εδώ είναι ένα παράδειγμα που δείχνει πώς μπορείτε να χρησιμοποιήσετε αυτήν την τάξη.

χρήση (var db = νέο LiteRepository (connectionString))

            {

db. Εισαγωγή (νέος συντάκτης

{ Ονομα επίθετο,

Διεύθυνση });

            }

Εργασία με αρχεία στο LiteDB

Το LiteDB παρέχει το Αποθήκευση αρχείων συλλογή για εργασία με αρχεία. Η αποστολή ή λήψη αρχείων είναι απλή. Το μόνο που χρειάζεται να κάνετε είναι να καλέσετε την κατάλληλη μέθοδο στο Αποθήκευση αρχείων συλλογή όπως φαίνεται στα αποσπάσματα κώδικα παρακάτω. Για να ανεβάσετε ένα αρχείο:

db.FileStorage.Upload ("Author-Photo", @ "C: \ Temp \ Joydip.jpg"); // Μεταφορτώνει ένα αρχείο στη βάση δεδομένων
Για να κατεβάσετε ένα αρχείο:
db.FileStorage.Download ("Συγγραφέας-Φωτογραφία", @ "C: \ Joydip.jpg"); // Κατεβάζει ένα αρχείο στο σύστημα αρχείων

Πρέπει να σημειωθεί ότι το LiteDB δημιουργεί δύο συλλογές για να εργαστεί με αρχεία. Αυτά περιλαμβάνουν _ αρχεία και _chunks. Η συλλογή _files περιέχει πληροφορίες που σχετίζονται με τα μεταδεδομένα του αρχείου και _chunks περιέχει δεδομένα που χωρίζονται κατάλληλα για αποθήκευση.