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
bsonvalue是bsondocument和bsonarray的公共基类,可以在运行时确定其具体类型,通过一系列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使用内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论