今天给大家分享一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库:LiteDB。本篇文章主要是介绍LiteDB和在.NET中如何使用。
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
包,点击安装。
public class Customer
{
///
/// Id
///
public int Id { get; set; }
///
/// Name
///
public string Name { get; set; }
///
/// Age
///
public int Age { get; set; }
///
/// Email
///
public string Email { get; set; }
}
namespace LiteDBCwTest
{
internal class Program
{
static void Main(string[] args)
{
//创建或打开数据库文件
using (var db = new LiteDatabase(@"MyCustomerData.db"))
{
// 获取集合(相当于表)
var collection = db.GetCollection("customers");
var customers = new List()
{
new Customer
{
Name = "追逐时光者",
Age = 18,
Email = "[email protected]"
},
new Customer
{
Name = "大姚",
Age = 30,
Email = "[email protected]"
}
};
// 批量插入数据
collection.Insert(customers);
// 查询数据
var result = collection.FindAll();
foreach (var c in result)
{
Console.WriteLine($"Name: {c.Name}, Age: {c.Age}, Email: {c.Email}");
}
// 根据条件查询数据
var query = Query.EQ("Age", 30);
var resultByAge = collection.Find(query);
foreach (var c in resultByAge)
{
Console.WriteLine($"Name: {c.Name}, Age: {c.Age}, Email: {c.Email}");
}
// 删除数据
var deletedResult = collection.Delete(resultByAge.FirstOrDefault().Id);
}
}
}
}
Releases · mbdavid/LiteDB.Studio · GitHub
用于查看和编辑 LiteDB v5 文档的图形用户界面工具。
更多项目实用功能和特性欢迎前往项目开源地址查看,别忘了给项目一个Star支持。
GitHub源码地址:GitHub - mbdavid/LiteDB: LiteDB - A .NET NoSQL Document Store in a single data file
官方文档地址:Overview - LiteDB :: A .NET embedded NoSQL database
文章转载自:追逐时光者
原文链接:https://www.cnblogs.com/Can-daydayup/p/17955585
体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构