你好,這里是 Dotnet 工具箱,定期分享 Dotnet 有趣,實用的工具或組件,希望對您有用!
? 簡介??
LiteDB 是一個小型、快速、輕量級的 .NET NoSQL 嵌入式數據庫,也就是我們常說的 K/V 數據庫,完全用 C# 托管代碼開發,并且是免費和開源的,Github Star 數近 7k。它非常適合在移動應用 (Xamarin iOS/Android)和小型的桌面/Web 應用中使用。
LiteDB 的靈感來自 MongoDB 數據庫,所以它的 API 和 MongoDB 的 .NET API 非常相似。
功能特性
?? 無服務器 NoSQL 文檔存儲
?? 類似于 MongoDB 的簡潔 API
?? 支持 .NET 4.5 / NETStandard 2.0
?? 線程安全
?? LINQ 查詢的支持
?? 具有完整事務支持的 ACID
?? 單文件存儲,類似于 SQLite
?? 存儲文件和流數據
?? LiteDB Studio - 數據查詢工具
?? 開源免費
??
如何使用
1. 在項目中使用 Nuget 安裝 LiteDB。
2.?創建實體類
public?class?Customer
{public?int?Id?{?get;?set;?}public?string?Name?{?get;?set;?}public?string[]?Phones?{?get;?set;?}public?bool?IsActive?{?get;?set;?}
}
3. 打開數據庫,如果不存在會自動創建。
using?var?db?=?new?LiteDatabase(@"MyData.db");
4. 下面是一個增刪改查的例子。
//?獲取?Customers?集合
var?col?=?db.GetCollection<Customer>("customers");??//?創建一個對象
var?customer?=?new?Customer
{Name?=?"John?Doe",Phones?=?new?string[]?{?"8000-0000",?"9000-0000"?},Age?=?39,IsActive?=?true
};//?在?Name?字段上創建唯一索引
col.EnsureIndex(x?=>?x.Name,?true);?//?數據插入
col.Insert(customer);//?數據查詢?
List<Customer>?list?=?col.Find(x?=>?x.Age?>?20).ToList();?
Customer?user?=?col.FindOne(x?=>?x.Age?>?20);//?數據刪除?
col.Delete(user.Id);
另外LiteDB 還支持存儲文件。
var?storage?=?db.GetStorage<int>();//?上傳文件storage.Upload(123,?@"C:\Temp\picture-01.jpg");//?下載文件storage.Download(123,?@"C:\Temp\copy-of-picture-01.jpg");
數據查詢 - LiteDB.Studio
LiteDB.Studio 是一個用來查看和編輯 LiteDB 數據的 GUI 工具,并且支持 SQL 命令。

項目地址
https://www.litedb.org