כיצד לעבוד עם LiteDB ב- C #

LiteDB הוא בסיס נתונים מהיר, פשוט, ללא תצורה, משובץ NoSQL עבור .Net. זוהי בחירה טובה עבור יישומים פשוטים (אינטרנט, נייד או שולחן עבודה) שבהם ייתכן שתצטרך קובץ נתונים אחד למשתמש, אך אינך צריך לתמוך בפעולות כתיבה בו זמנית רבות. מאמר זה מציג סקירה כיצד אנו יכולים לעבוד עם מסד נתונים זה באמצעות C #.

לפני שנתחיל להשתמש ב- LiteDB, בואו נסתכל על כמה מהמושגים. LiteDB עובד עם מסמכים ואוספים. מסמכים משמשים לאחסון נתונים ולאחסוןם לקובץ נתונים וממנו. שים לב שהגדרת המסמך שלך יכולה להיות מחלקה POCO או מחלקה BsonDocument. כך או כך, LiteDB תמיר את המסמך שלך לפורמט BSON לפני שהוא מאוחסן במסד הנתונים.

LiteDB מארגנת את המסמכים בחנויות המסמכים המכונות אוספים. אגב, כל אוסף מזוהה על ידי שם ייחודי ומכיל מסמך אחד או יותר שחולקים אותה סכמה. לעבודה עם מסמכים תוכלו לנצל את שיטות האיסוף. הנה רשימת השיטות בהן ניתן להשתמש:

  • Insert- משמש להוסיף מסמך חדש לאוסף
  • Update- משמש לעדכון מסמך קיים
  • Delete- משמש למחיקת מסמך
  • FindByIdאו Find—משמש לשאילתת מסמך
  • Include- משמש לאכלוס נכסים מאוספים אחרים
  • EnsureIndex- משמש ליצירת אינדקס חדש אם הוא אינו קיים

מכיוון ש- LiteDB הוא מסד נתונים ללא שרת, אינך צריך להתקין אותו במערכת שלך. אתה פשוט מוסיף הפניה לקובץ LiteDB.dll בפרויקט שלך. לחלופין, אתה יכול להתקין את LiteDB באמצעות מנהל החבילות NuGet ב- Visual Studio או על ידי הקלדת הפקודה הבאה בכלי שורת הפקודה NuGet Package Manager.

> Install-Package LiteDB

צור מחלקת POCO ב- LiteDB ב- C #

צור פרויקט יישום קונסולה חדש ב- Visual Studio ושמור אותו עם שם. בואו ניצור כעת מחלקת POCO שנשתמש בה ליצירת מסמך שהוקלד חזק. שים לב שעלינו להחזיק Idמאפיין בשם בכיתה שלנו לעבודה עם LiteDB. לחלופין, אנו יכולים גם לקשט כל נכס בכיתה שלנו באמצעות [BsonId]התכונה. הנה Authorהכיתה בה נשתמש בדוגמה זו.

מחלקה ציבורית מחבר

    {

        ID מזהה ציבורי {get; מַעֲרֶכֶת; }

        מחרוזת ציבורית FirstName {get; מַעֲרֶכֶת; }

        מחרוזת ציבורית LastName {get; מַעֲרֶכֶת; }

    }

Idהנכס צריך להיות ייחודי ולא ריק. אם תשאיר את מאפיין Id ריק, LiteDB ייצור באופן אוטומטי את זה Idבעת הכנסת רשומה.

הוסף רשומה ב- LiteDB ב- C #

ניתן להשתמש בקטע הקוד הבא ליצירת Authorמופע חדש ולהוספת רשומה.

באמצעות (var db = LiteDatabase חדש (connectionString))

    {

       אוסף var = db.GetCollection ("מחברים");

       var author = מחבר חדש

         {

             שם פרטי,

             שם משפחה,

             כתובת

          };

         אוסף. הכנס (מחבר);

     }

עיין בקטע הקוד שלמעלה. שים לב כיצד מופע חדש של LiteDatabaseנוצר על ידי העברת מחרוזת החיבור כפרמטר. ההצהרה הבאה מאחזרת אוסף או יוצרת אוסף חדש אם לא קיים. הקריאה Insertלשיטה במופע האוסף מייצרת באופן אוטומטי את ערך Idהנכס ומכניסה את המסמך למסד הנתונים.

שאילתת LiteDB ב- C #

כעת לאחר שהכנסת רשומה חדשה למסד הנתונים, תוכל לשאול אותה כפי שמוצג בקטע הקוד שלמטה.

באמצעות (var db = LiteDatabase חדש (connectionString))

   {

     אוסף var = db.GetCollection ("מחברים");

     var author = collection.FindById (1);

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

   }

שים לב FindByIdשהשיטה מחזירה את המסמך לפי Idאינדקס המפתח הראשי שלו או. אתה יכול ליצור במפורש אינדקס EnsureIndexבשיטה כמוצג להלן.

author.EnsureIndex ("FirstName");

עדכן מסמך ב- LiteDB ב- C #

עדכון מסמך הוא פשוט. אתה פשוט משנה את ערכי המאפיינים ואז קורא Updateלשיטה במופע האוסף כמוצג להלן.

var author = collection.FindById (1);

מחבר. כתובת;

collection.Update (מחבר);

אם ברצונך למצוא את כל המחברים המתגוררים במיקום מסוים, תוכל להשתמש בשאילתה הבאה.

var results = collection.Find (x => x.Address.Contains ("היידראבאד"));

יש עוד מחלקה שנקראת LiteRepositoryשמקלה על ביצוע פעולות CRUD. הנה דוגמה שממחישה כיצד ניתן להשתמש בכיתה זו.

באמצעות (var db = LiteRepository חדש (connectionString))

            {

                db.Insert (מחבר חדש

               { שם פרטי שם משפחה,

               כתובת });

            }

עבודה עם קבצים ב- LiteDB

LiteDB מספק את FileStorageהאוסף לעבודה עם קבצים. העלאה או הורדה של קבצים היא פשוטה. כל שעליך לעשות הוא לקרוא לשיטה המתאימה FileStorageבאוסף, כפי שמוצג בקטעי הקוד שלמטה. להעלאת קובץ:

db.FileStorage.Upload ("מחבר-תמונה", @ "C: \ Temp \ Joydip.jpg"); // מעלה קובץ למסד הנתונים
להורדת קובץ:
db.FileStorage.Download ("מחבר-תמונה", @ "C: \\ Joydip.jpg"); // מוריד קובץ למערכת הקבצים

יש לציין כי LiteDB יוצר שני אוספים לעבודה עם קבצים. אלה כוללים _filesו _chunks. אוסף _files מכיל מידע הקשור למטא-נתונים של הקובץ, _chunksומכיל נתונים המפוצלים כראוי לאחסון.