前言
今天给大家分享一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库:LiteDB。本篇文章主要是介绍LiteDB和在.NET中如何使用。
LiteDB介绍
LiteDB 是一个小巧、快速和轻量级的 .NET NoSQL 嵌入式数据库。
- 无服务器的 NoSQL 文档存储
- 简单的 API,类似于 MongoDB
- 100% 的 C# 代码支持 .NET 4.5 / NETStandard 1.3/2.0,以单个 DLL(不到 450KB)形式提供
- 线程安全
- 支持 ACID,完整的事务支持
- 写入失败后的数据恢复(WAL 日志文件)
- 使用 DES(AES)加密算法对数据文件进行加密
- 使用属性或流畅的映射器 API 将 POCO 类映射为 BsonDocument
- 存储文件和流数据(类似于 MongoDB 的 GridFS)
- 单一数据文件存储(类似于 SQLite)
- 对文档字段建立索引以实现快速搜索
- 支持 LINQ 查询
- 提供类似于 SQL 的命令来访问/转换数据
- LiteDB Studio – 数据访问的精美用户界面
- 开源且免费供所有人使用,包括商业用途
LiteDB应用场景
可以在以下场景中使用 LiteDB:
- 桌面/本地小型应用程序
- 应用程序文件格式
- 小型网站/应用程序
- 每个账户/用户数据存储一个数据库的情况
LiteDB项目源代码
创建一个LiteDBCwTest控制台
安装LiteDB包
搜索LiteDB
包,点击安装。
定义Customer数据模型
publicclassCustomer
{
///
///Id
///
publicintId{get;set;}
///
///Name
///
publicstringName{get;set;}
///
///Age
///
publicintAge{get;set;}
///
///Email
///
publicstringEmail{get;set;}
}
LiteDB数据创建、插入、查询和删除
namespaceLiteDBCwTest
{
internalclassProgram
{
staticvoidMain(string[]args)
{
//创建或打开数据库文件
using(vardb=newLiteDatabase(@"MyCustomerData.db"))
{
//获取集合(相当于表)
varcollection=db.GetCollection("customers");
varcustomers=newList()
{
newCu服务器托管网stomer
{
Name="追逐时光者",
Age=18,
Email="17854545@gmail.com"
},
newCustomer
{
Name="大姚",
Age=30,
Email="16556545@gmail.com"
}
};
//批量插入数据
collection.Insert(customers);
//查询数据
varresult=collection.FindAll();
foreach(varcinresult)
{
Console.WriteLine($"Name:{c.Name},Age:{c.Age},Email:{c.Email}");
}
//根据条件查询数据
varquery=Query.EQ("Age",30);
varresultByAge=collection.Find(query);
foreach(varcinresultByAge)
{
Console.WriteLine($"Name:{c.Name},Age:{c.Age},Email:{c.Email}");
}
//删除数据
vardeletedResult=collection.Delete(resultByAge服务器托管网.FirstOrDefault().Id);
}
}
}
}
创建成功的数据库文件
LiteDB.Studio管理工具下载
- https://github.com/mbdavid/LiteDB.Studio/releases
用于查看和编辑 LiteDB v5 文档的图形用户界面工具。
LiteDB.Studio管理数据
连接MyCustomerData数据库
查看customers表数据
项目源码地址
更多项目实用功能和特性欢迎前往项目开源地址查看,别忘了给项目一个Star支持。
GitHub源码地址:https://github.com/mbdavid/LiteDB
官方文档地址:https://www.litedb.org/api/
优秀项目和框架精选
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没
)。
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
DotNetGuide技术社区交流群
- DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目推荐、招聘资讯和解决问题的平台。
- 在这个社区中,开发者们可以分享自己的技术文章、项目经验、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
- 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台,为广大.NET开发者带来更多的价值和成长机会。
欢迎加入DotNetGuide技术社区微信交流群
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net