當前位置: 妍妍網 > 碼農

LiteDB:輕量級嵌入式資料庫在C#中的基礎用法

2024-05-12碼農

LiteDB是一個輕量級的嵌入式NoSQL資料庫,專為.NET平台設計。它提供了簡潔的API來儲存和查詢文件,非常適合桌面套用、行動應用或小型Web套用。LiteDB不需要額外的伺服器或安裝過程,只需一個簡單的DLL參照,即可在你的C#計畫中使用。

本文將介紹LiteDB的基礎用法,並透過範例程式碼來展示如何在C#計畫中整合和使用LiteDB。

1. 安裝LiteDB

首先,你需要在你的計畫中安裝LiteDB。你可以透過NuGet包管理器來安裝它。在Visual Studio中,右鍵點選你的計畫 -> 選擇「管理NuGet程式包」 -> 搜尋「LiteDB」 -> 點選「安裝」。

2. 建立或開啟資料庫

在使用LiteDB之前,你需要建立一個資料庫連線。LiteDB使用檔來儲存數據,因此你需要指定一個檔名來建立或開啟一個資料庫。

using LiteDB;
classProgram
{
staticvoidMain(string[] args)
{
using (var db = new LiteDatabase("filename=mydatabase.db"))
{
// 在這裏操作資料庫
}
}
}

在上面的程式碼中,我們建立了一個名為 mydatabase.db 的LiteDB資料庫。 using 語句確保在操作完成後正確關閉資料庫連線。

3. 定義數據模型

在LiteDB中,數據以文件的形式儲存。每個文件都是一個BSON物件,可以包含任意數量和型別的欄位。你可以定義一個C#類來表示你的數據模型。

public classCustomer
{
public ObjectId Id { getset; }
publicstring Name { getset; }
publicint Age { getset; }
publicstring Email { getset; }
}

在這個例子中,我們定義了一個名為 Customer 的類,它包含了一個ObjectId型別的Id欄位、一個字串型別的Name欄位、一個整數型別的Age欄位和一個字串型別的Email欄位。

4. 插入數據

要向LiteDB插入數據,你需要獲取一個集合(collection),然後呼叫其Insert方法。集合類似於SQL資料庫中的表。

using (var db = new LiteDatabase("filename=mydatabase.db"))
{
var customers = db.GetCollection<Customer>("customers");
var customer = new Customer
{
Name = "John Doe",
Age = 30,
Email = "[email protected]"
};
customers.Insert(customer);
}

在上面的程式碼中,我們首先獲取了一個名為「customers」的集合,然後建立了一個新的Customer物件,並將其插入到集合中。LiteDB會自動為插入的文件生成一個ObjectId。

5. 查詢數據

LiteDB提供了豐富的查詢功能,允許你使用類似LINQ的語法來檢索數據。

using (var db = new LiteDatabase("filename=mydatabase.db"))
{
var customers = db.GetCollection<Customer>("customers");
var query = customers.Find(c => c.Age > 25);
foreach (var customer in query)
{
Console.WriteLine($"Name: {customer.Name}, Age: {customer.Age}, Email: {customer.Email}");
}
}

在上面的程式碼中,我們執行了一個簡單的查詢,檢索年齡大於25歲的所有客戶。然後,我們遍歷查詢結果並打印出每個客戶的姓名、年齡和電子信件地址。

6. 更新和刪除數據

LiteDB也支持更新和刪除數據。你可以使用Update和Delete方法來修改或刪除文件。

using (var db = new LiteDatabase("filename=mydatabase.db"))
{
var customers = db.GetCollection<Customer>("customers");
// 更新數據
var customerToUpdate = customers.FindById(new ObjectId("your-object-id-here"));
if (customerToUpdate != null)
{
customerToUpdate.Age = 31// 更新年齡為31歲
customers.Update(customerToUpdate); // 更新資料庫中的記錄
}
// 刪除數據
var customerToDelete = customers.FindById(new ObjectId("your-object-id-here"));
if (customerToDelete != null)
{
customers.Delete(customerToDelete); // 從資料庫中刪除記錄
}
}

在上面的程式碼中,我們首先透過ObjectId尋找要更新或刪除的客戶。然後,我們修改客戶的年齡並呼叫Update方法來更新資料庫中的記錄。類似地,我們可以呼叫Delete方法來刪除指定的記錄。

結論

LiteDB是一個輕量級、易於使用的嵌入式NoSQL資料庫,非常適合在C#計畫中使用。它提供了簡潔的API來儲存、查詢、更新和刪除文件。透過本文中的範例程式碼,你應該已經了解了LiteDB的基礎用法。現在,你可以開始在你的計畫中使用LiteDB來儲存和檢索數據了。