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

CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告
目录
一、CSFramework.EF 数据库组件测试程序

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

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 多数据库框架
https://www.cscode.net/archive/csframework.ef/363596745297925.html

版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网





