写点什么

一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库

  • 2024-01-11
    福建
  • 本文字数:2265 字

    阅读完需:约 7 分钟

前言


今天给大家分享一个小巧、快速、轻量级的 .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 数据模型


    public class Customer    {        /// <summary>        /// Id        /// </summary>        public int Id { get; set; }
        /// <summary>        /// Name        /// </summary>        public string Name { get; set; }
        /// <summary>        /// Age        /// </summary>        public int Age { get; set; }
        /// <summary>        /// Email        /// </summary>        public string Email { get; set; }    }
复制代码


LiteDB 数据创建、插入、查询和删除


namespace LiteDBCwTest{    internal class Program    {        static void Main(string[] args)        {            //创建或打开数据库文件            using (var db = new LiteDatabase(@"MyCustomerData.db"))            {                // 获取集合(相当于表)                var collection = db.GetCollection<Customer>("customers");
                var customers = new List<Customer>()                {                    new Customer                    {                        Name = "追逐时光者",                        Age = 18,                        Email = "17854545@gmail.com"                    },                    new Customer                    {                        Name = "大姚",                        Age = 30,                        Email = "16556545@gmail.com"                    }                };
                // 批量插入数据                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);            }        }    }}
复制代码


创建成功的数据库文件



LiteDB.Studio 管理工具下载



用于查看和编辑 LiteDB v5 文档的图形用户界面工具。



LiteDB.Studio 管理数据


连接 MyCustomerData 数据库




查看 customers 表数据



项目源码地址


更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个 Star 支持💖。


GitHub 源码地址:https://github.com/mbdavid/LiteDB

官方文档地址:https://www.litedb.org/api/


文章转载自:追逐时光者

原文链接:https://www.cnblogs.com/Can-daydayup/p/17955585

体验地址:http://www.jnpfsoft.com/?from=001

用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库_数据库_不在线第一只蜗牛_InfoQ写作社区