Dapper的数据库操作备忘

Dapper是很好的C#生态的ORM工具

  • 获取单条记录
sql 复制代码
var row = conn.QueryFirstOrDefault("select 'abc' as cc");
if (row == null) return;
string priField = row.cc; //直接访问字段

根据动态的字段名获取值,则需要先转为字典接口

csharp 复制代码
var dict = (IDictionary<string, object>)row;
// 动态访问字段
object _f = dict[appField];
  • 执行存储过程
    下面是直接执行postgresql的自定义函数,
csharp 复制代码
string sql = "SELECT public.template.fn_flow_test_ok(@p_bill_id, @p_args)";
// 参数对象,属性名与 SQL 中的参数名匹配
var parameters = new { p_bill_id = bill.Bill_Id, p_args = bill.Parameters };
db.Connection.Query(sql, parameters, trx);
sql 复制代码
CREATE OR REPLACE FUNCTION public.fn_flow_test_ok(p_bill_id varchar,p_args varchar)
	RETURNS void
	LANGUAGE plpgsql
AS $function$
	BEGIN
		perform debug_log('flow ok,'||p_bill_id||','||p_args);
	END;
$function$
;
相关推荐
银发控、6 小时前
MySQL联合索引
数据库·mysql
予枫的编程笔记6 小时前
【MySQL修炼篇】从踩坑到精通:事务隔离级别的3大异常(脏读/幻读/不可重复读)解决方案
数据库·mysql·后端开发·数据库事务·事务隔离级别·rr级别·脏读幻读不可重复读
一起养小猫7 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
世界尽头与你7 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试
韩立学长8 小时前
【开题答辩实录分享】以《智能大学宿舍管理系统的设计与实现》为例进行选题答辩实录分享
数据库·spring boot·后端
Henry Zhu1238 小时前
数据库(五):反规范化
数据库
Mr_Xuhhh8 小时前
MySQL函数详解:日期、字符串、数学及其他常用函数
java·数据库·sql
he___H9 小时前
Redis高级数据类型
数据库·redis·缓存
霖霖总总9 小时前
[小技巧60]深入解析 MySQL Online DDL:MySQL Online DDL、pt-osc 与 gh-ost 机制与最佳实践
数据库·mysql
爱学习的阿磊9 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python