使用 C# 开发的轻量级开源数据库 LiteDB

article/2025/10/6 19:11:28

39db705057b49376e55cf62b1255dfd1.png

2144727a6f8e97f395267e814138bf4c.gif

0e164567807a050b741a6955f64d683d.png

你好,这里是 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. 1. 在项目中使用 Nuget 安装 LiteDB。

  2. 2. 创建实体类

public class Customer
{public int Id { get; set; }public string Name { get; set; }public string[] Phones { get; set; }public bool IsActive { get; set; }
}
  1. 3. 打开数据库,如果不存在会自动创建。

using var db = new LiteDatabase(@"MyData.db");
  1. 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 命令。

049496be90862b2763dec8f663ea3de0.png

项目地址

https://www.litedb.org


http://chatgpt.dhexx.cn/article/i6wJSp7q.shtml

相关文章

开源轻量级数据库访问框架

本框架为开源框架&#xff0c;旨在简化用户的数据库操作&#xff0c;提供便捷的数据库访问服务而封装。该框架依赖于JDBC&#xff0c;并且基于原生JAVA SE框架的封装。 框架对比 对于经常进行数据库开发和JAVA EE开发的编程人员而言&#xff0c;其最先使用到的数据持久化方式…

Android学习之轻量级数据库SQLite

Android中对数据的存储有很多种方式&#xff0c;Google为Andriod中较大的数据处理提供了SQLite数据库&#xff0c;SQLite是一款轻型的数据库&#xff0c;它在管理、使用和维护上非常强大。当然最主要的特点还是它的轻量级&#xff0c;适合在移动设备上使用。 今天主要来讲下最…

收藏!Python内置的轻量级数据库竟如此好用!全网最实用sqlite3实战项目。

前段时间推送了一篇Python操作MySQL数据库的文章&#xff1a;我用 Python 处理3万多条数据&#xff0c;只要几秒钟……&#xff0c;文章发布后反应很好&#xff0c;很多粉丝给我私信&#xff0c;有的朋友说&#xff1a;MySQL安装起来太麻烦了&#xff0c;有没有更简便的方法&am…

SQLTools: 一款全功能的 VScode 轻量级数据库管理插件

公众号关注 「奇妙的 Linux 世界」设为「星标」&#xff0c;每天带你玩转 Linux &#xff01; VSCode SQLTools 是一个非常轻量级的数据库管理插件&#xff0c;可以在 VSCode 中轻松管理数据库连接、查询、SQL语句智能提示、书签、查询历史等等&#xff0c;常用的管理功能都有。…

c#中使用轻量级数据库sqlite开发总结

首先简单说明下含义&#xff0c;sqlite数据库是一种轻量级的数据库&#xff0c;主要特点是免安装、免配置、简单小巧&#xff0c;在程序中的开发基本和sql数据库一致。 准备工具&#xff1a;system.data.sqlite.dll和sqlite-shell-win32-x86-3081101&#xff0c;前者用来在程序…

最近发现的 3 个 Python 轻量级数据库,好用到爆!

你好&#xff0c;我是征哥&#xff0c;在写程序的时候经常会需要将数据保存到本地&#xff0c;比如是配置文件&#xff0c;或者是中间过程数据&#xff0c;通过情况下我会选择 json、pickle 或者 sqlite。但是他们都有点不大方便。 比如 json 和 pickle&#xff0c;需要先序列化…

sqlite原理分析和开发应用

概述 SQLite介绍 自几十年前出现的商业应用程序以来&#xff0c;数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样&#xff0c;它们也变得非常庞大&#xff0c;并占用了相当多的系统资源&#xff0c;增加了管理的复杂性。随着软件应用程序逐渐模块模块…

SQLite3-轻量级数据库

SQLite主页&#xff1a;SQLite Home Page SQLite&#xff0c;是一款轻型的数据库&#xff0c;是遵守ACID的关系型数据库管理系统&#xff0c;它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的&#xff0c;而且已经在很多嵌入式产品中使…

Wise Duplicate Finder(重复文件查找工具)v1.2.9.40中文免费版

Wise Duplicate Finder是一款简洁高效的重复文件管理工具&#xff0c;通过匹配文件名&#xff0c;文件大小或内容来查找和删除重复的文件&#xff0c;使用户摆脱烦人的重复文件&#xff0c;释放更多磁盘空间&#xff0c;有需要的赶快下载吧&#xff01; 功能介绍&#xff1a; …

如何查找和删除Endnote中重复的文献

点击Reference&#xff0c;在列表中找到“Find Duplicates”

Linux命令模糊查找

1&#xff0c;在某文件夹下查找&#xff0c;且模糊匹配 find . -name xx* 且中间都必须用空格间隔 2&#xff0c;mv 命令格式运行结果mv 文件名 文件名将源文件名改为目标文件名mv 文件名 目录名将文件移动到目标目录mv 目录名 目录名目标目录已存在&#xff0c;将源目录…

文件包含漏洞详解

文章目录 文件包含概述漏洞产生原因漏洞特点小知识文件包含函数includerequireinclude_oncerequire_once 文件包含示例pikachu靶场本地文件包含漏洞演示pikachu靶场远程文件包含漏洞演示文件包含漏洞的利用PHP伪协议&#xff08;文件包含漏洞常用的利用方法&#xff09;文件包含…

【操作系统实验】Ubuntu Linux 虚拟机文件查找相关命令

文章目录 whereishelpmanfindlocategrepwc管道 whereis 功能描述&#xff1a;寻找命令的二进制文件。 同时也会找到其帮助文件&#xff0c;主要功能是寻找一个命令所在的位置。和find相比&#xff0c;whereis查找的速度非常快。 语法&#xff1a; whereis [选项] [命令名称] …

用 Python 实现文件查找

用 Python 实现文件查找&#xff08;BIF实现及队列实现&#xff09; &#xff08;1&#xff09;利用内置函数实现文件查找 1、功能&#xff1a;返回用户输入的文件的绝对路径 2、设计思路&#xff1a; &#xff08;1&#xff09;用户输入在哪个盘进行查找&#xff08;2&#xf…

如何测试电脑软件重复或多,如何快捷找出电脑内的重复文件(两个工具)

我特喜欢收集各种软件和资料&#xff0c;但是时间久了&#xff0c;很多软件和资料之前下载过了&#xff0c;后来不记得了&#xff0c;又下载了&#xff0c;这样重复的非常多。还有&#xff0c;我喜欢备份文件&#xff0c;就算一些普通的文件&#xff0c;也会随手临时备份一下&a…

使用代码克隆检测功能查找重复代码

代码克隆是非常相似的独立代码片段。 在已开发一段时间的应用程序中&#xff0c;常会出现这种现象。 克隆提高了更改应用程序的难度&#xff0c;因为你必须找到并更新多个片段。 Visual Studio Ultimate 或 Visual Studio Premium 可帮助你查找代码克隆&#xff0c;以便你进行重…

计算机上的查找替换功能快速格式化,Excel 2016中使用查找替换功能应用技巧

大家知道Excel中有查找和替换这个功能,懂得按住【Ctrl+F】可以直接打开“查找”对话框,按住【Ctrl+H】直接打开“替换”对话框。但你真的很了解这个功能了吗? 在使用Excel的时候,对于其中的查找功能的使用基本是比不可少的,那Excel中都可以在哪里进行查找呀。下面说下在Ex…

虚拟化、文件系统、查找文件

文章目录 虚拟化虚拟化的概念安装KVM安装gustos了解并配置KVM网络桥接&#xff1a;NAT:仅主机(hostonly): 文件系统了解文件系统的概念&#xff1a;了解硬链接的概念&#xff1a;挂载文件系统&#xff1a; 查找文件&#xff1a; 虚拟化 虚拟化的概念 虚拟化≠虚拟机 虚拟化里…

Duplicate Cleaner Pro(电脑重复文件清理软件)官方中文版V5.15.0 | 重复文件查找王下载

Duplicate Cleaner Pro 是一款相当出色的电脑重复文件清理软件&#xff0c;有重复文件查找王的美誉&#xff0c;支持字节、MD5以及其他多种哈希算法等内容比对方式&#xff0c;主要功能就是帮助大家从计算机硬盘中深入快速扫描查找并删除重复的文件、音乐、视频、照片、文档以及…

python删除重复文件

使用场景 网上爬取的图片重复量太大&#xff0c;需要删除重复图片。 环境 python 3 hashilib 分析一下这个问题&#xff1a; 首先&#xff0c;文件个数非常多&#xff0c;手工查找是不现实的&#xff0c;再说&#xff0c;单凭我们肉眼&#xff0c;在几千张图片或文件里面找…