CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架
作者:csframework|C/S框架网  发布日期:2026/01/01 23:05:23

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告

一、CSFramework.EF数据库组件测试程序

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架

二、EF.Core 常用操作操作手册

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架

https://www.cscode.net/archive/csframework.ef/363598630264837.html

三、ADO.NET 测试几个常用方法

创建PostgreSql数据库实例

C# 全选
//创建PostgreSql数据库实例
IDatabase db = DatabaseFactory.GetDatabase(DatabaseType.PostgreSql, config.ConnectionString);

测试执行SQL Update数据

C# 全选
//创建DbCommand参数
var p1 = db.CreateParameter("date", DateTime.Now);
var count = db.ExecuteSql("update public.\"dt_Customer\" set \"LastUpdateDate\"=@date;", p1);

测试调用存储过程(StoreProcedure),返回 DataTable

C# 全选
//创建DbCommand参数
var p1 = db.CreateParameter("p_customer_info", "CSframework", ParameterDirection.Input);
var p2 = db.CreateCursor_PostgreSql("refcursor", "my_cursor"); //游标参数名=refcursor,参数值:全小写

//调用存储过程,并返回单个表
var dt = db.GetDataTable("_usp_get_customer", CommandType.StoredProcedure, p1, p2);

_usp_get_customer存储过程

CREATE OR REPLACE PROCEDURE public._usp_get_customer(
	p_customer_info character varying,
	INOUT refcursor refcursor DEFAULT 'result'::refcursor)
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
    OPEN refcursor FOR
    SELECT *       
    FROM public."dt_Customer" c
    WHERE 
        c."NativeName" ILIKE '%' || p_customer_info || '%' OR
        c."EnglishName" ILIKE '%' || p_customer_info || '%' OR
        c."Address1" LIKE '%' || p_customer_info || '%';
END;
$BODY$;

测试调用函数(Function),返回 DataTable

C# 全选
//创建DbCommand参数
var p1 = db.CreateParameter("p_customer_info", "CSframework", ParameterDirection.Input);

//调用存储过程,并返回单个表
var dt = db.GetDataTable("select * from public.\"_Test_Get_Customer\"(@p_customer_info)", CommandType.Text, p1);

_Test_Get_Customer函数

SQL全选
CREATE OR REPLACE FUNCTION public."_Test_Get_Customer"(
	p_customer_info character varying)
    RETURNS TABLE("CustomerCode" character varying, "NativeName" character varying) 
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
    ROWS 1000

AS $BODY$
BEGIN
    RETURN QUERY
    SELECT 
        c."CustomerCode",
        c."NativeName"
    FROM "dt_Customer" c
    WHERE 
        c."CustomerCode" ILIKE '%' || p_customer_info || '%' OR
        c."NativeName" ILIKE '%' || p_customer_info || '%' OR
        c."EnglishName" ILIKE '%' || p_customer_info || '%';
END;
$BODY$;

测试调用sql,返回 DataTable

C# 全选
//创建DbCommand参数
var p1 = db.CreateParameter("p_customer_info", "CSframework", ParameterDirection.Input);

//var dt = db.GetDataTable("select * from public.\"dt_Customer\" where \"EnglishName\" like @p_customer_info", CommandType.Text, p1);
var dt = db.GetDataTable("select * from public.\"dt_Customer\"", CommandType.Text);

测试调用存储过程,返回 DataSet 多张表

C# 全选
//创建DbCommand参数
var p1 = db.CreateParameter("p_info", "CSframework", ParameterDirection.Input);
var p2 = db.CreateCursor_PostgreSql("refcursor1", "my_cursor1"); //游标参数名=refcursor,参数值:全小写
var p3 = db.CreateCursor_PostgreSql("refcursor2", "my_cursor2"); //游标参数名=refcursor,参数值:全小写

//调用存储过程,并返回单个表
var ds = db.GetDataSet("_usp_get_dataset", CommandType.StoredProcedure, p1, p2, p3);

_usp_get_dataset存储过程

测试调用sql,返回 DataSet 多张表

C# 全选
var sql1 = "select * from \"dt_Customer\" LIMIT 10;";
var sql2 = "select * from \"dt_Product\" LIMIT 10;";

//调用存储过程,并返回单个表
var ds = db.GetDataSet(sql1 + sql2, CommandType.Text);

四、CSFramework.EF.PostgreSql 组件源码

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架

五、CSFramework.EF 多数据库框架

https://www.cscode.net/archive/csframework.ef/363596745297925.html

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇