首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 使用 BerkeleyDB(六):完整調用示例與實體類設計

     編輯:關於C語言

實體類要求

  • 可序列化([Serializable])。
  • 實現 IPut 接口(提供 Key 屬性)。

實體代碼


[Serializable]
public class Item : IPut
{
    public string Name { get; set; }
    public string Text { get; set; }
    public int ID { get; set; }

    public string Key => Name; // 作為 BDB 主鍵

    public override string ToString() => $"ID:{ID} Key:{Name}";
}

CRUD 操作示例


// 插入/更新
using (var mgr = new BDBManager("db", "db.dat"))
{
    bool ok = mgr.Set(new Item { ID = 1000, Name = "Test", Text = "213" });
    Console.WriteLine($"Set: {ok}");
}

// 查詢
using (var mgr = new BDBManager("db", "db.dat"))
{
    IPut put = new Item { Name = "Test" };
    bool ok = mgr.Get(ref put);
    Console.WriteLine($"Get: {ok}, Item: {put}");
}

// 刪除
using (var mgr = new BDBManager("db", "db.dat"))
{
    IPut put = new Item { Name = "Test" };
    bool ok = mgr.Remove(put);
    Console.WriteLine($"Remove: {ok}, Item: {put}");
}

// 遍歷
using (var mgr = new BDBManager("db", "db.dat"))
{
    foreach (var item in mgr.Find())
        Console.WriteLine(item);
}

關鍵點

  • BDBManager 實現 IDisposable,using 確保事務提交與資源釋放。
  • Set 為 upsert 語義(存在則更新,不存在則插入)。
  • Get 通過 ref IPut 返回完整實體。
  • Find 返回所有記錄列表,適合小數據量全表掃描。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved