目录
介绍
DbSharpApplication是文章的新版本,DbSharp -DAL Generator Tool on .NET6,我10年前发布的。
去年,我决定改进它的设计。我从头开始,消除了多余的功能,并重新设计了它以方便使用。
功能摘要
DbSharpApplication生成C#代码。设置项目并通过Nuget添加一些引用。
现在,您可以像这样轻松地调用存储过程:
var sp = new Usp_Structure();
sp.BigIntColumn = 1;
//User defined table type parameter. TVP(table value parameter)
var r = new MyTableType.Record();
r.BigIntColumn = 2;
sp.StructuredColumn.Records.Add(r);
var spResult = await sp.ExecuteNonQueryAsync();
var sp1 = new Usp_SelectMultiTable();
var resultSetList = await sp1.GetResultSetsListAsync();
foreach (var item in resultSetList.ResultSetList)
{
//Do something...
var text = item.CharColumn;
Console.WriteLine(item.BigIntColumn);
}
您可以轻松地从C#调用调用存储过程。生成的类是强类型,因此可以通过智能感知进行选择。
DbSharpApplication支持表值参数、out参数、结果集、枚举值等。DbSharpApplication继续提供 上一个版本的功能.NET6的。你可以通过这篇文章看到它。
DbSharp -DAL Generator Tool on .NET6
如何生成和设置项目
- 下载DbSharpApplication。
- 设置数据库的连接字符串。
- 生成要投影的C#源代码。
- 添加来自Nuget的引用。
下载DbSharpApplication
您可以从此链接下载。
Launch.exe
设置生成设置
您可以通过按左侧面板中的“添加”按钮来生成设置。
通过“设置”按钮添加连接字符串。窗口将打开。
可以添加连接字符串列表。
这些连接字符串将保存到用户文件夹中的文件中。
例如)C:\Users\Higty\HigLabo\DbSharpApplication\ConfigData.xml
生成C#源代码
选择之前添加的连接字符串,将显示按钮。
按“加载存储过程”按钮。加载存储过程列表。
选择存储过程,然后按底部的“生成”按钮。
加载存储过程参数。
设置输出文件夹、命名空间、数据库键。按生成按钮。C# 源代码将生成到指定的文件夹。
如果存储过程有resultset,请按“加载结果集”按钮。
Resultset已加载。
从Nuget添加引用
要编译项目,必须添加这些引用。
- HigLabo.Core
- HigLabo.Data
- HigLabo.Data.SqlServer
- HigLabo.DbSharp
- HigLabo.DbSharp.SqlServer
现在,您可以编译项目了。
我在GitHub上创建了一个示例项目。
如何使用该类
设置DatabaseFactory类。如果设置数据库键“HigLabo”,则将“HigLabo”传递给第一个参数。
StoredProcedure.DatabaseFactory.SetCreateDatabaseMethod
("HigLabo", () => new SqlServerDatabase("My connection string..."));
现在,您可以轻松地使用用户定义的表类型调用存储过程。
var sp = new Usp_Structure();
sp.BigIntColumn = 1;
//User defined table type parameter. TVP(table value parameter)
var r = new MyTableType.Record();
r.BigIntColumn = 2;
sp.StructuredColumn.Records.Add(r);
var spResult = await sp.ExecuteNonQueryAsync();
您可以获取结果集。
var sp1 = new Usp_SelectMultiTable();
var resultSetList = await sp1.GetResultSetsListAsync();
foreach (var item in resultSetList.ResultSetList)
{
//Do something...
var text = item.CharColumn;
Console.WriteLine(item.BigIntColumn);
}
您可以在下面的链接中看到示例代码:
结论
DbSharpApplication不是ORM,它是DAL的生成器。生成C#代码后,可以轻松调用它。
https://www.codeproject.com/Articles/5376436/DbSharpApplication-Csharp-Source-Code-Generator-of