最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C#開發(fā)的輕量級LiteDB數(shù)據(jù)庫

2023-08-04 08:35 作者:HwLib  | 我要投稿

LiteDB簡介

? ? ? ? 小型數(shù)據(jù)庫我一直使用SQLite。因為它是C語言開發(fā),所以在C#中使用略顯繁瑣。LiteDB是類似于MongoDB的輕量級嵌入式數(shù)據(jù)庫。因為它是完全使用C#開發(fā),所以集成在C#應(yīng)用程序中具有先天優(yōu)勢。和SQLite不同的是,LiteDB是NoSQL數(shù)據(jù)庫,也就是K/V數(shù)據(jù)庫,且完全開源、免費。除了可以在桌面應(yīng)用程序中使用外,它可以在移動、WEB應(yīng)用中使用。

LiteDB功能特性

  • 無服務(wù)器 NoSQL 文檔存儲;

  • 類似于 MongoDB 的簡潔 API;

  • 支持 .NET 4.5 / NETStandard 2.0;

  • 線程安全;

  • LINQ?查詢的支持;

  • 具有完整事務(wù)支持的 ACID;

  • 單文件存儲,類似于 SQLite;

  • 存儲文件和流數(shù)據(jù);

  • LiteDB Studio -?數(shù)據(jù)查詢工具;

  • 開源免費

? ? ? ? 從功能特性來看,LiteDB還是很強的,尤其難得的是支持并發(fā),這點連SQLite也不具備。但是LiteDB歷史較短,其穩(wěn)定性和可靠性還需要進(jìn)一步提升。下圖是我從網(wǎng)上找的LiteDB和SQLite性能測試對比。此圖中的數(shù)據(jù)我本人沒有實際驗證過,僅供大家參考。

圖1 LiteDB和SQLite性能對比

使用入門

? ? ? ? 首先通過NuGet安裝最新的穩(wěn)定版LiteDB。

圖2 安裝LiteDB

? ? ? ? 然后新建一個實體類。網(wǎng)上的文章連范例都懶的做,千篇一律照抄官方的Customer類。我們當(dāng)然不能這么干。這里我創(chuàng)建了一個上位機開發(fā)中用于記錄操作事件的EventModel類。

? ? ? ? 在窗體上添加三個按鈕,分別用于插入、修改和刪除數(shù)據(jù)。在插入按鈕的點擊事件中輸入下面代碼。

? ? ? ? 上面的代碼模擬了一次性插入10次操作的記錄數(shù)據(jù)。我們可以通過DataGridView控件可以查看數(shù)據(jù)庫中的數(shù)據(jù)。

圖3 插入10個操作記錄

? ? ? ? 另外LiteDB還提供了一個名為LiteDB Studio的可視化工具。我們也可以借助它查詢、操作數(shù)據(jù)。

圖4 LiteDB Studio

? ? ? ? 雙擊修改按鈕,在其點擊事件中輸入下面代碼。

? ? ? ? 上面的代碼先查找操作事件是"這是第4次操作"的記錄,然后再將其修改為"這是第14次操作"。數(shù)據(jù)的刪除也很簡單。雙擊刪除按鈕,在其點擊事件中輸入下面代碼。

? ? ? ? 上面的代碼刪除了事件內(nèi)容為"這是第3次操作"的記錄。執(zhí)行后的數(shù)據(jù)如下。

圖5 刪除記錄

? ? ? ? 通過簡單的增、刪、查、改我們得以初步了解LiteDB的使用。它確實夠輕量、夠簡單。是小型應(yīng)用程序的一個不錯的選擇。

C#開發(fā)的輕量級LiteDB數(shù)據(jù)庫的評論 (共 條)

分享到微博請遵守國家法律
长宁县| 云阳县| 射洪县| 靖宇县| 祁连县| 兴仁县| 邯郸县| 南陵县| 阿荣旗| 和龙市| 石狮市| 宁南县| 洛南县| 泰来县| 江阴市| 九龙县| 石棉县| 苍南县| 郁南县| 韶山市| 蚌埠市| 康保县| 阜宁县| 酉阳| 徐水县| 赣州市| 平度市| 外汇| 儋州市| 博兴县| 壶关县| 贞丰县| 二手房| 临澧县| 永新县| 金阳县| 嘉峪关市| 寿光市| 湘乡市| 西华县| 靖远县|