Star 8K+,使用.NET开发的开源NoSQL数据库

LiteDB 是一个轻量级、快速、易用的 .NET NoSQL 嵌入式数据库,完全用 C# 托管代码开发,并且是免费和开源的。它非常适合在移动应用(Xamarin iOS/Android)和小型的桌面/Web 应用中使用。

主要特点

  • 简单易用的 API,类似于 MongoDB
  • 100% C# 代码,支持 .NET 4.5 / NETStandard 1.3/2.0,其核心代码只有不到 450KB
  • 线程安全
  • 写入失败后的数据恢复(WAL 日志文件)
  • 使用 DES(AES)加密技术进行数据文件加密
  • 可使用属性或流畅的映射器 API 将 POCO 类映射到 BsonDocument
  • 支持存储文件和流式数据(类似于 MongoDB 中的 GridFS)
  • 单个数据文件存储(类似于 SQLite)
  • 支持索引文档字段以实现快速搜索
  • 支持 LINQ 查询
  • 提供类似 SQL 的命令来访问和转换数据
  • 开源免费,可用于商业用途
    LiteDB 还提供一个用于访问和管理数据的客户端LiteDBStudio,其功能简单强大,链接在文末。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用方法

1、 安装LiteDB

可以通过 NuGet 包管理器安装 LiteDB

dotnet add package LiteDB --version 5.0.17
//或
NuGet\Install-Package LiteDB -Version 5.0.17

2、 创建数据库

using LiteDB;var db = new LiteDatabase("mydb.db");

3、新建Person

public class Person
{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }
}

4、插入数据

var col = db.GetCollection<Person>("people");var person = new Person
{Name = "John Doe",Age = 30
};col.Insert(person);

5、查询数据

var results = col.Find(x => x.Age > 20);foreach (var person in results)
{Console.WriteLine(person.Name);
}

6、更新数据

var person = col.FindById(1);person.Name = "Jane Doe";col.Update(person);

7、删除数据

col.Delete(1);

适用场景

LiteDB 非常适合以下场景:

  • 桌面/本地化的小应用程序
  • 应用程序文件格式(Application file format)
  • 小型 web 应用程序
  • 一个账户/用户一个数据库的数据存储
  • 少量并发写操作

官网推荐的一些第三方工具链接

  • 一个 GUI 查看器工具: https://github.com/falahati/LiteDBViewer
  • 一个 GUI 编辑器工具: https://github.com/JosefNemec/LiteDbExplorer
  • LiteDB 管理工具: https://darwich.mx/downloads/
  • Lucene.NET 目录: https://github.com/sheryever/LiteDBDirectory
  • LINQPad 支持: https://github.com/adospace/litedbpad
  • F# 支持: https://github.com/Zaid-Ajaj/LiteDB.FSharp
  • PowerShell 封装: https://github.com/v2kiran/PSLiteDB

源码链接:
LiteDB:https://github.com/mbdavid/LiteDB
LiteDBStudio:https://github.com/mbdavid/LiteDB.Studio

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/345421.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端远原生js爬取数据的小案例

使用方法 注意分页的字段需要在代码里面定制化修改&#xff0c;根据你爬取的接口&#xff0c;他的业务规则改代码中的字段。比如我这里总条数叫total&#xff0c;人家的不一定。返回的数据我这里是data.rows&#xff0c;看看人家的是叫什么字段&#xff0c;改改代码。再比如我这…

Git的安装

1、下载 官网地址&#xff1a; https://git-scm.com/或https://github.com/git-for-windows/git/releases 百度网盘链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/13_asGO-XQb5KWWH_V7rq6g?pwd0630 2、安装 ①查看GNU协议&#xff0c;可以直接点击下一步。 ②…

dns 域名解析

一&#xff0c;dns 是什么 domain name server 域名解析 将域名转化成 ip 地址 这是个7层协议 既使用tcp53端口 &#xff08;主从之间同步&#xff09; 也使用udp53端口 &#xff08;域名名字解析&#xff09; 二&#xff0c;dns 实现方法 1&#xff0c;通过…

POI:对Excel的基本读操作 整理2

1 简单读取操作 public class ExcelRead {String PATH "D:\\Idea-projects\\POI\\POI_projects";// 读取的一系列方法// ...... } 因为07版本和03版本操作流程大差不差&#xff0c;所以这边就以03版本为例 Testpublic void testRead03() throws IOException {//获取…

element+vue 之图片放大器

1.安装插件 npm install vue-photo-zoom-pro2.main.js导入 // 放大镜 import VuePhotoZoomPro from vue-photo-zoom-pro Vue.use(VuePhotoZoomPro)3.页面使用 <vue-photo-zoom-pro:url"imgUrl":out-zoomer"true":scale"2"style"width:…

CST2024的License服务成功启动,仍报错——“The desired daemon is down...”,适用于任何版本!基础设置遗漏!

CST2024的License服务成功启动&#xff0c;仍报错——“The desired daemon is down…”&#xff0c;适用于任何版本&#xff01;基础设置遗漏&#xff01; CST2024的License服务成功启动后报错 若不能成功启动License服务&#xff0c;有可能是你的计算机名称带中文&#xff…

【嵌入式——QT】QT静态编译

【嵌入式——QT】QT静态编译 QT下载查看文档下载Visual Studio打开命令行模式编译添加QT到Qt Creator编译示例 QT下载 下载地址 进入目录&#xff0c;我这里选择的qt-everywhere-src-5.14.1.zip。 查看文档 解压压缩包打开源码&#xff0c;查看README文件&#xff0c;里面…

【期末不挂科-C++考前速过系列P1】大二C++第1次过程考核(3道简述题&7道代码题)【解析,注释】

前言 大家好吖&#xff0c;欢迎来到 YY 滴C复习系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

公司官网,选全站定制还是模板建站?

最近更新了公司网站&#xff0c;总算了了一件大事。 虽然很久以前也做网站&#xff0c;但随着技术的发展&#xff0c;以前经常用的dreamwaver、table等形式&#xff0c;不知道被升级了多少代。现在前端同事说起的各种架构&#xff0c;对我来说是云里雾里。只能看懂一点点。 这…

操作系统-操作系统的特征(并发 共享 虚拟 异步 之间关系)

文章目录 总览操作系统的特征-并发操作系统的特征-共享并发和共享的关系操作系统的特征-虚拟操作系统的特征-异步小结 总览 操作系统的特征-并发 并行&#xff1a;同时做多个事件 并发&#xff1a;同一个时刻只有一个事件&#xff0c;但会切换事件&#xff0c;所以宏观上可能做…

VASP结合vaspkit+ShengBTE计算热电优值(一)

电导率σ&#xff0c;塞贝克系数S的计算&#xff1a; 使用vaspkit计算处对应的物理量&#xff0c;具体流程为&#xff1a; 准备好计算的材料对应的POSCAR。如果是二维材料可以使用vaspkit 的921或923功能对二维材料POSCAR进行标准化。进行结构优化。使用 vaspkit-681命令生成高…

仿真验证方法(3)——物理验证

目录 一、物理验证的分类 二、DRC 2.1 设计规则 2.2 规则示例 2.3 线宽违例 2.4 间距违例 2.5 交叠违例 三、金属覆盖图形密度检查 四、天线比率检查 4.1 起因 4.2 计算 4.3 改进 五、LVS检查 六、物理验证常用的EDA工具 七、总结 一、物理验证的分类 对于物理验…