LiteDB在.NET中如何使用

news/2024/11/13 11:59:44/文章来源:https://www.cnblogs.com/cqai/p/18539045

LiteDB在.NET中如何使用

LiteDB介绍

LiteDB是类似于MongoDB的轻量级嵌入式数据库。因为它是完全使用C#开发,所以集成在C#应用程序中具有先天优势。和SQLite不同的是,LiteDB是NoSQL数据库,也就是K/V数据库,且完全开源、免费。除了可以在桌面应用程序中使用外,它可以在移动、WEB应用中使用。

LiteDB功能特性

  • 无服务器 NoSQL 文档存储;
  • 类似于 MongoDB 的简洁 API;
  • 支持 .NET 4.5 / NETStandard 2.0;
  • 线程安全;
  • LINQ 查询的支持;
  • 具有完整事务支持的 ACID;
  • 单文件存储,类似于 SQLite;
  • 存储文件和流数据;
  • LiteDB Studio - 数据查询工具;
  • 开源免费

开始使用吧

  1. 首先在NUGET上安装LiteDB

  2. 开始链接

    // 新建一个实体类
    public class WOW
    {public string Name { get; set; }public int ID { get; set; }
    }
    

    开始插入数据库

    using LiteDB;
    // 打开数据库,如果不存在会自动创建。
    var db = new LiteDatabase(@"LiteDBtest.db");
    // 打开一个表 和MongoDB一样的
    var wows = db.GetCollection<WOW>("WOW");
    // 插入一条
    WOW wow = new WOW();
    wow.ID = 1;
    wow.Name = "萨尔";
    wows.Insert(wow);// 批量插入
    List<WOW> wowlst = new List<WOW>();
    for (int i = 1; i < 10; i++)
    {wow.ID = i + 1;wow.Name = $"这是第{i + 1}次操作";wowlst.Add(wow);
    }
    wows.Insert(wowlst);
    

    这样单条插入和批量插入就做完了。

    数据库在BIN目录下面

    查询也是一样

    List<WOW> list = wows.FindAll().ToList(); // 这个是查询全部
    

    查询单条也是一样

    WOW wow = wows.FindOne(x => x.Name == "萨尔");
    

    还有删除

    WOW wow = wows.FindOne(x => x.Name == "萨尔");
    wows.Delete(wow.ID);
    

相关文档:
https://dev.listera.top/docs/litedb/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/831613.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于.NET开源、功能强大且灵活的工作流引擎框架

前言 工作流引擎框架在需要自动化处理复杂业务流程、提高工作效率和确保流程顺畅执行的场景中得到了广泛应用。今天大姚给大家推荐一款基于.NET开源、功能强大且灵活的工作流引擎框架:elsa-core。框架介绍 elsa-core是一个.NET开源、免费(MIT License)、功能强大且灵活的工作…

Dedecms 织梦上传图片失败 ERROR:Copy Uploadfile Error! 提示

问题:上传图片时提示 ERROR: Copy Uploadfile Error!。原因:上传的文件损坏,或上传目录无写入权限。解决方法:尝试上传其他图片:检查上传的图片是否损坏,尝试上传其他图片。给上传目录写入权限:Linux 服务器:通过 FTP 设置 uploads 目录及其子文件夹为 777 权限。 Wind…

Web服务器被配置为不列出此目录的内容

创建或上传首页文件在站点根目录下创建一个首页文件,如 index.html、index.asp、index.aspx 或 default.aspx。 确保文件内容有效,例如对于 index.html,可以包含以下基本内容:<!DOCTYPE html> <html> <head><title>我的网站</title> </he…

PbootCMS模板内页如何调用相关文章

使用 {pboot:lists code={sort:scode} num=4} 标签调用相关文章,其中 num=4 表示调用4篇文章。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理…

C#实战:使用腾讯云识别服务轻松提取火车票信息

公司内部涉及到车票报销的时候一个个输入火车票信息非常麻烦,尤其是出差比较多的企业,这对于财务人员的涉及报销单据录入还是非常麻烦的。今天给大家分享使用腾讯云车票识别服务,轻松提取火车票信息。这样可以方便把识别服务集成到业务系统,可以大大减轻财务人员录入单据信…

《Django 5 By Example》阅读笔记:p1-p16

《Django 5 By Example》学习第1天,p1-p16总结,总计16页。 一、技术总结 1.Django基本操作 (1)创建 project & 创建 app django-admin startproject mysitedjango-admin startapp blog(2)定义model (3)启动项目 python manage.py runserver二、英语总结(生词:8) 1.finte…

2024/11/11

软件设计 实验12:外观模式 在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法 ,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作系统(OS)的载入(load()),如果某一过程发生错误则计算…

2024.11.6(周三)

用透明组合模式实现教材中的“文件夹浏览”这个例子。 实验要求: 1.文件的执行不需真正实现,只需简单提示即可; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 #include <iostream> #include <string> #include<list> using namespace std;class Abst…

2024.11.7(周四)

用装饰模式模拟手机功能的升级过程:简单的手机(SimplePhone)在接收来电时,会发出声音提醒主人;而JarPhone除了声音还能振动;更高级的手机(ComplexPhone)除了声音、振动外,还有灯光闪烁提示。 实验要求: 1.提交类图; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 #i…

2024.11.5(周二)

用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 实验要求: 1.画出对应的类图; 2.提交源代码; 3.注意编程规范。1、类图2、源代码 (1) Bus.java package test;public class Bus implements Vehicle{@Overridepublic void run() {Sy…

CFAT:三角窗口实现图像超分辨率

CFAT:三角窗口实现图像超分辨率基于变换器的模型通过利用其固有的捕获复杂上下文特征的能力,彻底改变了图像超分辨率(SR)的效果。如今,在Transformer架构中使用的重叠矩形移位窗口技术是超分辨率模型中的一种常见做法,可以提高图像放大的质量和鲁棒性。然而,它在边界处存…

CFAT:释放三角窗口实现图像超分辨率

CFAT:释放三角窗口实现图像超分辨率基于变换器的模型通过利用其固有的捕获复杂上下文特征的能力,彻底改变了图像超分辨率(SR)的效果。如今,在Transformer架构中使用的重叠矩形移位窗口技术是超分辨率模型中的一种常见做法,可以提高图像放大的质量和鲁棒性。然而,它在边界…