LiteDB 是一个轻量级的 .NET 数据库,它完全用 C# 编写,不需要安装任何外部依赖或服务器。它非常适合用于嵌入式数据库、桌面应用程序或小型 Web 项目。以下是如何在 C# 中使用 LiteDB 的基本步骤:
安装 LiteDB
通过 NuGet 安装 LiteDB。在 Visual Studio 中,右键点击你的项目 -> 选择“管理 NuGet 程序包” -> 搜索“LiteDB” -> 点击“安装”。
或者,你也可以使用 Package Manager Console 来安装:
Install-Package LiteDB
创建数据库
LiteDB 会在你的应用程序路径下创建一个 .db
文件作为数据库。你可以使用 LiteDatabase
类来连接或创建数据库。使用 GetCollection<T>
方法来获取或创建集合。
public Form1()
{
InitializeComponent();
lite = new("transldata.db");
transls = lite.GetCollection<TranslItem>("transls");
}
readonly LiteDatabase lite;
readonly ILiteCollection<TranslItem> transls;
TranslItem
是一个自定义的类,它表示你的数据模型:
public class TranslItem
{
//主键
[BsonId]
public int Id { get; set; }
//文本
public string? Text { get; set; }
//翻译
public string? Trans { get; set; }
}
查询,插入,更新,删除数据
LiteDB 提供了一系列方法来处理增删查改:
private void 查看全部_Click(object sender, EventArgs e)
{
var all = transls.FindAll();
}
private void 查看指定_Click(object sender, EventArgs e)
{
var r1 = transls.Find(x => x.Text!.Contains("26"));
}
private void 查看指定第一个_Click(object sender, EventArgs e)
{
var r1 = transls.FindOne(x => x.Text == "固定");
}
private void 插入_Click(object sender, EventArgs e)
{
//插入
var tr = new TranslItem();
tr.Text = DateTime.Now.ToString();
tr.Trans = DateTime.Now.TimeOfDay.ToString();
transls.Insert(tr);
}
private void 插入固定_Click(object sender, EventArgs e)
{
//插入
var tr = new TranslItem();
tr.Text = "固定";
tr.Trans = "固定Trans";
transls.Insert(tr);
}
private void Commit_Click(object sender, EventArgs e)
{
lite.Commit();
}
private void 更新_Click(object sender, EventArgs e)
{
var r1 = transls.FindOne(x => x.Text == "固定");
r1.Trans = "44423";
transls.Update(r1);
}
private void 删除全部_Click(object sender, EventArgs e)
{
transls.DeleteAll();
}
private void 删除指定_Click(object sender, EventArgs e)
{
transls.Delete(1);
}
private void 删除指定第一个_Click(object sender, EventArgs e)
{
var r1 = transls.FindOne(x => x.Text == "固定");
transls.Delete(r1.Id);
}
LiteDB 是一个强大且易于使用的嵌入式数据库,非常适合用于各种 C# 项目。通过遵循上述步骤,你可以轻松地在你的 C# 应用程序中使用 LiteDB。
测试项目
LiteDB是一个轻量级的.NET数据库使用示例资源-CSDN文库
标签:sender,C#,void,EventArgs,LiteDB,private,transls,使用 From: https://blog.csdn.net/fhqiwmc/article/details/137039261