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
ומכיל נתונים המפוצלים כראוי לאחסון.