LiteDB在.NET中如何使用

梦想航路發表於2024-11-11

LiteDB在.NET中如何使用

LiteDB介紹

LiteDB是類似於MongoDB的輕量級嵌入式資料庫。因為它是完全使用C#開發,所以整合在C#應用程式中具有先天優勢。和SQLite不同的是,LiteDB是NoSQL資料庫,也就是K/V資料庫,且完全開源、免費。除了可以在桌面應用程式中使用外,它可以在移動、WEB應用中使用。

LiteDB功能特性

  • 無伺服器 NoSQL 文件儲存;
  • 類似於 MongoDB 的簡潔 API;
  • 支援 .NET 4.5 / NETStandard 2.0;
  • 執行緒安全;
  • LINQ 查詢的支援;
  • 具有完整事務支援的 ACID;
  • 單檔案儲存,類似於 SQLite;
  • 儲存檔案和流資料;
  • LiteDB Studio - 資料查詢工具;
  • 開源免費

開始使用吧

  1. 首先在NUGET上安裝LiteDB

  2. 開始連結

    // 新建一個實體類
    public class WOW
    {
        public string Name { get; set; }
        public int ID { get; set; }
    }
    

    開始插入資料庫

    using LiteDB;
    // 開啟資料庫,如果不存在會自動建立。
    var db = new LiteDatabase(@"LiteDBtest.db");
    // 開啟一個表 和MongoDB一樣的
    var wows = db.GetCollection<WOW>("WOW");
    // 插入一條
    WOW wow = new WOW();
    wow.ID = 1;
    wow.Name = "薩爾";
    wows.Insert(wow);
    
    // 批次插入
    List<WOW> wowlst = new List<WOW>();
    for (int i = 1; i < 10; i++)
    {
        wow.ID = i + 1;
        wow.Name = $"這是第{i + 1}次操作";
        wowlst.Add(wow);
    }
    wows.Insert(wowlst);
    

    這樣單條插入和批次插入就做完了。

    資料庫在BIN目錄下面

    查詢也是一樣

    List<WOW> list = wows.FindAll().ToList(); // 這個是查詢全部
    

    查詢單條也是一樣

    WOW wow = wows.FindOne(x => x.Name == "薩爾");
    

    還有刪除

    WOW wow = wows.FindOne(x => x.Name == "薩爾");
    wows.Delete(wow.ID);
    

相關文件:
https://dev.listera.top/docs/litedb/

相關文章