DbCRUD.LiteDB
1.3.0
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package DbCRUD.LiteDB --version 1.3.0
NuGet\Install-Package DbCRUD.LiteDB -Version 1.3.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DbCRUD.LiteDB" Version="1.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DbCRUD.LiteDB --version 1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DbCRUD.LiteDB, 1.3.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DbCRUD.LiteDB as a Cake Addin #addin nuget:?package=DbCRUD.LiteDB&version=1.3.0 // Install DbCRUD.LiteDB as a Cake Tool #tool nuget:?package=DbCRUD.LiteDB&version=1.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
DbCRUD
介绍
开发项目过程中,不同的开发项目可能会用到不同的数据库,初次接触一门新的数据库,要投入不少的学习成本和踩不少的坑。本库就是基于此背景开发,集 SQL 和 NOSQL 常用数据库增删改查,并尽量保持一样的输入输出,减少你学习成本投入。我踩过的坑,不用你再踩。
软件架构
使用 c# .core(现在统一建.net)开发,可自行实现 IDbCRUD 接口自由扩展。
安装教程
- :tw-1f1f1: 安装 DbCRUD.LiteDB
Install-Package DbCRUD.LiteDB 安装包
使用说明
LiteDB
- 数据库连接及初始化
//数据库连接 //LiteDbCRUD testdb = new LiteDbCRUD(@"filename=CRUDTestDB.db");//相对路径([程序目录]\DATA) IDbCRUD testdb = new LiteDbCRUD(@"filename=CRUDTestDB.db");//相对路径([程序目录]\DATA) //LiteDbCRUD testdb = new LiteDbCRUD(@"filename=C:\CRUDTestDB.db");//绝对路径指定数据库保存路径
- 插入数据
//**同步插入对象数据
var customer = new CustomerViwe
{
//Id = id + 50, ////实体类,ID不赋值,默认根据数据类型自动整数编号,支持int,long,objectid
Name = "周彰文",
Phones = new string[] { "80000", "90000" },
IsActive = true,
};
var result = testdb.Insert(tb_custormer, customer);
//**同步插入字典数据
var dic1 = new Dictionary<string, object>
{
//{ "_id", 1 },//***如果不指定ID,插入时会自动编一个objectid的唯一ID
{ "Name", "LitedbCRUD" },
{ "Qty", 19},
{ "DDate", DateTime.Now }
};
var result11 = testdb.Insert(autoIDData, dic1);
//插入JSON数据
string jsondata = JsonConvert.SerializeObject(dic1);
var result12 =testdb.Insert(tb_jsondata, jsondata);
//**sql命令插入
testdb.Insert($"insert into {sqldata}('name','date') values ('test','{DateTime.Now.ToString("yyyy-MM-dd")}'");
//**批量插入列表
List<Dictionary<string, object>> listdata = new List<Dictionary<string, object>>();
int maxid = testdb.Max<int>(dictable);
for (int i = 0; i < 10; i++)
{
maxid++;
var dic2 = new Dictionary<string, object>
{
{ "_id",maxid },
{ "Name", "n2" },
{ "Qty", 19+maxid},
{ "DDate", DateTime.Now }
};
listdata.Add(dic2);
}
var listResult= testdb.Insert(dictable, listdata);
- 更新数据
var updata = new Dictionary<string, object>
{
{ "Name", "更新指定字段数据" },
{ "Qty", 300}
};
var upresult = testdb.UpDate(dictable, updata, "_id=2"); //更新_id=2的数据
- 更新及插入数据(数据存在更新,不存在插入)
//** 更新或插入数据
var dic1 = new Dictionary<string, object>
{
{ "_id", 2 },
{ "Name", "插入或更新单条数据" },
{ "Qty", 200},
{ "DDate", DateTime.Now }
};
var result= testdb.Upsert(dictable, dic1);
Assert.IsTrue(result.Stutas);
//** 批量插入或更新
var dic3 = new Dictionary<string, object>
{
{ "_id", 3 },
{ "Name", "批量插入或更新" },
{ "Qty", 300},
{ "DDATE", DateTime.Now }
};
List<Dictionary<string,object>> listdata=new List<Dictionary<string, object>> { dic3,dic1};
var listresult = testdb.Upsert(dictable, listdata);
- 查询数据
//查找id=2的数据
var databyid = testdb.FindByID<Dictionary<string, object>>(dictable,2);
//查找Qty>10的数据
var wheredata = testdb.Find<Dictionary<string, object>>(dictable, "Qty>10");
//sql语句查找的数据
string sqlcmd = $"select * from {dictable}";
var sqldata = testdb.Find<Dictionary<string, object>>(sqlcmd);
//分页查找的数据
var pagedata = testdb.GetPagingData<Dictionary<string, object>>(dictable, "Qty>10",pageindex:1,pagenumber:10);
- 删除数据
//**删除_id=2的数据
var result = testdb.Delete(dictable,2);
//**删除qty<30的数据
var wherresult = testdb.Delete(dictable, "Qty<30");
//**使用sql语句删除_id=30的数据
string sql = $"delete {dictable} where _id=30";
var sqlresult = testdb.Delete(sql);
开发预告
- 增加 MongoDB
- 增加 LiteDB
- 增加 MySQL
- 增加 Sql Server
- 增加 Redis
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.8.4 | 87 | 10/25/2024 |
1.8.3 | 83 | 10/24/2024 |
1.8.2 | 113 | 6/24/2024 |
1.8.1 | 154 | 4/27/2024 |
1.8.0 | 128 | 4/8/2024 |
1.7.4 | 130 | 4/6/2024 |
1.7.3 | 156 | 3/22/2024 |
1.7.2 | 148 | 3/21/2024 |
1.7.1 | 618 | 11/13/2023 |
1.7.0 | 492 | 11/10/2023 |
1.6.9 | 530 | 10/31/2023 |
1.6.8 | 623 | 9/3/2023 |
1.6.7 | 634 | 8/27/2023 |
1.6.6 | 747 | 8/4/2023 |
1.6.5 | 764 | 7/31/2023 |
1.6.4 | 704 | 7/27/2023 |
1.6.3 | 721 | 7/24/2023 |
1.6.2 | 737 | 7/23/2023 |
1.6.1 | 763 | 7/20/2023 |
1.6.0 | 742 | 7/14/2023 |
1.5.9 | 771 | 7/9/2023 |
1.5.8 | 729 | 7/7/2023 |
1.5.7 | 761 | 7/6/2023 |
1.5.6 | 776 | 6/26/2023 |
1.5.5 | 761 | 6/18/2023 |
1.5.4 | 745 | 6/13/2023 |
1.5.3 | 721 | 6/11/2023 |
1.5.1 | 743 | 6/9/2023 |
1.5.0 | 776 | 6/8/2023 |
1.4.0 | 751 | 6/6/2023 |
1.3.0 | 744 | 5/14/2023 |
1.2.4 | 783 | 5/11/2023 |
1.2.3 | 770 | 5/10/2023 |
1.2.2 | 742 | 5/8/2023 |
1.2.1 | 773 | 5/7/2023 |
1.2.0 | 750 | 5/6/2023 |
1.1.0 | 729 | 5/4/2023 |
1.0.0 | 754 | 4/25/2023 |
LiteDbCRUD增加sql语句方式删除,更新,查询数据
优化更新