当前位置: 代码网 > it编程>编程语言>C# > C# LiteDB基本使用示例代码

C# LiteDB基本使用示例代码

2024年05月18日 C# 我要评论
litedb 是一个小型、快速、轻量级的 .net nosql 嵌入式数据库,也就是我们常说的 k/v 数据库,完全用 c# 托管代码开发,并且是免费和开源的,github star 数近 7k。它非

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com