侧边栏壁纸
  • 累计撰写 62 篇文章
  • 累计收到 17 条评论

Litedb 一款轻量型NoSql数据库

一缕清风
2021-01-16 / 0 评论 / 35 阅读 / 正在检测是否收录...

简介

LiteDB 是一个 .NET 开发的小型快速轻量级的 NoSQL 嵌入式数据库

  • 无服务器NoSQL文档存储
  • 简单的API,类似于MongoDB
  • 单个DLL(小于450kb)中的.NET 4.5/NETStandard 1.3/2.0的100%C#代码
  • 线程安全
  • 具有完整交易支持的ACID
  • 写入失败后的数据恢复(WAL日志文件)
  • 使用DES(AES)加密的数据文件加密
  • 将POCO类BsonDocument映射为使用属性或流利的映射器API
  • 存储文件和流数据(例如MongoDB中的GridFS)
  • 单个数据文件存储(如SQLite)
  • 索引文档字段以快速搜索
  • LINQ查询支持
  • 类似SQL的命令来访问/转换数据
  • LiteDB Studio-用于数据访问的漂亮UI
    开源,所有人免费-包括商业用途

GitHub

官网地址:http://www.litedb.org/
可视化工具:https://github.com/mbdavid/LiteDB.Studio

使用教程

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UsbDemo
{
    public class LiteDbDemo
    {
        public void Test()
        {
            using (var db = new LiteDB.LiteDatabase("MyData.db"))
            {
                //新增/创建集合
                var col = db.GetCollection<LiteDbModel>("LiteDbModel");

                //插入数据
                var customer = new LiteDbModel { Id = 1, Name = "John Doe", Sex = "男" };
                col.Insert(customer);

                //更新数据
                customer.Name = "Joana Doe1";
                col.Update(customer);

                //删除数据
                col.DeleteMany(x=>x.Name== "Joana Doe1");
                //根据id删除数据
                col.Delete(1);
                //删除全部
                col.DeleteAll();


                // 查询单条
                var sing = col.FindOne(x => x.Name== "Joana Doe1");

                //查询全部
                var all = col.FindAll();

                //lambda表达式查询
                var lambda = col.Find(x=>x.Name.Contains("Joana"));


            }
        }

    }
    public class LiteDbModel
    {
        //Id字段必须
        public int Id { get; set; }
        public string Name { get; set; }
        public string Sex { get; set; }
    }
}
0

评论 (0)

取消