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 - 数据查询工具;
- 开源免费
开始使用吧
-
首先在NUGET上安装LiteDB
-
开始链接
// 新建一个实体类 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/