C# LiteDB基本使用示例代码

 更新时间:2024年03月19日 11:33:05   作者:qiandfeng  
LiteDB是一种文档型单文件数据库,基于Key-Value方式存取数据,LiteDB 的灵感来自 MongoDB 数据库,所以它的 API 和 MongoDB 的 .NET API 非常相似,这篇文章主要介绍了C# LiteDB基本使用,需要的朋友可以参考下

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

LiteDB 的灵感来自 MongoDB 数据库,所以它的 API 和 MongoDB 的 .NET API 非常相似。

LiteDB是一种文档型单文件数据库,基于Key-Value方式存取数据。

LiteDB的基本数据结构

BsonDocument

BsonDocument用于存储单一对象,其构造函数接收字典型数据,定义存储的具体内容。

BsonArray

BsonArray用于存储多项同类型对象,其构造函数接收对象集合。

BsonValue

BsonValueBsonDocumentBsonArray的公共基类,可以在运行时确定其具体类型,通过一系列As*方法将其转换为具体类型。

LiteDB基本使用

1.创建实体类

创建一个实体类

{
    public int Id { get; set; }
    public int Age { get; set; }
    public string Name { get; set; } = string.Empty;
    public string[] Phone { get; set; }
    public bool IsActive { get; set; }
}

2.连接数据库以及一些CRUD

在NuGet中添加LiteDB

    // 打开数据库,如果不存在就会自动创建
    var db = new LiteDatabase(@"MyData.db");
    // 增删改查案例
    // 获取Student集合对象
    var col = db.GetCollection<Student>("student");
    for(int i = 1; i < 10; i++) 
    {
        var student = new Student()
        {
            Id = i,
            Age = 18+i,
            Name = "Test",
            Phone = new string[] { "8000-1000"+i, "1001-8080"+i },
            IsActive = true, 
         };
        // 数据插入
        col.Insert(student);
    }
    // 在id字段上创建唯一索引
    col.EnsureIndex(x => x.Id, true);
    // 数据查询
    List<Student> list = col.Find(x => x.Age > 20).ToList();
    Student user = col.FindOne(x => x.Id == 1);
    Console.WriteLine($"Lite数据库中共有{list.Count}人年龄大于20的人");
    foreach (Student stu in list)
    {
        ShowInfo(stu);
    }
    Console.WriteLine("Lite数据库中Id为1的人");
    ShowInfo(user);
	// 删除所有数据
    col.DeleteAll();
}
static void ShowInfo(Student student)
{
    Console.WriteLine("姓名:"+student.Name + "年龄:"+student.Age);
}

到此这篇关于C# LiteDB基本使用示例代码的文章就介绍到这了,更多相关C# LiteDB使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解析C#的扩展方法

    解析C#的扩展方法

    在本文中,主要对扩展方法进行了一些规则说明、声明方式,使用方式,以及对扩展方法的意义和扩展方法的原理进行了简单的解答。并在本文的最后给了一个枚举的扩展方法代码。
    2016-12-12
  • C# Request.Form用法案例详解

    C# Request.Form用法案例详解

    这篇文章主要介绍了C# Request.Form用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Unity UGUI的VerticalLayoutGroup垂直布局组件介绍使用

    Unity UGUI的VerticalLayoutGroup垂直布局组件介绍使用

    这篇文章主要为大家介绍了Unity UGUI的VerticalLayoutGroup垂直布局组件介绍使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 基于C# wpf 实现Grid内控件拖动详情

    基于C# wpf 实现Grid内控件拖动详情

    这篇文章主要介绍了基于C# wpf 实现Grid内控件拖动,有一些业务场景中我们需要拖动控件,在Grid中就可以实现控件拖动,通过设置Margin属性即可,下面文章我们来看看具体的实现内容
    2021-11-11
  • C#中的char、string和StringBuilder的使用详解

    C#中的char、string和StringBuilder的使用详解

    这篇文章主要介绍了C#中的char、string和StringBuilder的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • C#操作windows注册表的方法

    C#操作windows注册表的方法

    这篇文章主要介绍了C#操作windows注册表的方法,涉及C#针对注册表的读取与写入技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#多线程编程中的锁系统(三)

    C#多线程编程中的锁系统(三)

    这篇文章主要介绍了C#多线程编程中的锁系统(三),本本文主要说下基于内核模式构造的线程同步方式、事件、信号量以及WaitHandle、AutoResetEvent、ManualResetEvent等内容,需要的朋友可以参考下
    2015-04-04
  • 利用C#实现HTML模板的循环输出

    利用C#实现HTML模板的循环输出

    模板循环输出 ,是指使用 UI 前端设计的 HTML 模板片断,并结合数据记录进行循环输出的过程,本文将介绍如何中通过 C# 实现操作 HTML 模板的循环输出,文章通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-06-06
  • C#二叉搜索树插入算法实例分析

    C#二叉搜索树插入算法实例分析

    这篇文章主要介绍了C#二叉搜索树插入算法,实例分析了C#二叉树操作的相关技巧,需要的朋友可以参考下
    2015-04-04
  • 利用C#实现分割GIF图片

    利用C#实现分割GIF图片

    这篇文章主要为大家详细介绍了如何利用C#实现分割GIF图片的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以了解一下
    2022-12-12

最新评论