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$
;
相关推荐
不知疲倦的仄仄8 分钟前
MySQL/Read View快照/MVCC/串行化
java·数据库·mysql
向夏威夷 梦断明暄24 分钟前
C# 弃元模式:从语法糖到性能利器的深度解析
服务器·数据库·c#
糖果店的幽灵1 小时前
大模型测评DeepEval快速入门-RAG指标详解
数据库·人工智能·langgraph·大模型测评·deepeval
whn19772 小时前
oracle的节点2无法启动asm实例 提示PMON terminating the instance due to error 481
数据库·oracle·wpf
AAA@峥2 小时前
Ceph 集群配置管理完整指南
运维·数据库·分布式·ceph
旺仔学长 哈哈2 小时前
基于SpringBoot的在线招聘测评系统的设计与实现----附源码35253+数据库文档
数据库·spring boot·后端·在线招聘
吴声子夜歌3 小时前
MongoDB 4.2——索引(二)
数据库·mongodb·索引
米码收割机3 小时前
【Python】Django恒达科技门户网站(源码+文档)【独一无二】
数据库·python·科技
艾莉丝努力练剑3 小时前
【MYSQL】MYSQL学习的一大重点:基本查询(下)
android·数据库·学习·mysql·面试·八股文