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使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • winform基于异步委托实现多线程摇奖器

    winform基于异步委托实现多线程摇奖器

    这篇文章主要介绍了winform基于异步委托实现多线程摇奖器的方法,包含了线程的运用及随机数的生成,需要的朋友可以参考下
    2014-10-10
  • C# 字符串与unicode互相转换实战案例

    C# 字符串与unicode互相转换实战案例

    这篇文章主要介绍了C# 字符串与unicode互相转换实战案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C#实现俄罗斯方块基本功能

    C#实现俄罗斯方块基本功能

    这篇文章主要为大家详细介绍了C#实现俄罗斯方块的基本功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 基于C#的UDP协议的同步通信实现代码

    基于C#的UDP协议的同步通信实现代码

    本篇文章主要介绍了基于C#的UDP协议的同步实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)

    10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)

    这篇文章主要介绍了10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#),本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • C#实现读取和设置文件与文件夹的权限

    C#实现读取和设置文件与文件夹的权限

    这篇文章主要为大家详细介绍了如何使用C#实现读取和设置文件与文件夹的权限,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • C#中多维数组[,]和交错数组[][]的区别

    C#中多维数组[,]和交错数组[][]的区别

    这篇文章介绍了C#中多维数组[,]和交错数组[][]的区别,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C#调用Java的5种方案全解析

    C#调用Java的5种方案全解析

    在不少企业级项目里,C# 和 Java 同时存在几乎是常态,CLR 和 JVM 是两套完全不同的运行时,但现实不会等我们重写系统,所以如何在 C# 中调用 Java就成了一个绕不开的话题,因此本文给家介绍了C#调用Java的5种方案,需要的朋友可以参考下
    2026-03-03
  • C#实现排序的代码详解

    C#实现排序的代码详解

    在本篇文章里小编给大家整理的是关于C#实现排序的代码以及相关知识点,需要的朋友们参考下。
    2019-10-10
  • C#实现自由组合本地缓存、分布式缓存和数据查询

    C#实现自由组合本地缓存、分布式缓存和数据查询

    这篇文章介绍了C#实现本地缓存、分布式缓存和数据查询的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论