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$
;
相关推荐
ZYJCSZKJ5 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
Mr.朱鹏12 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠12 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng113 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
wxwx_bscxy32213 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向14 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却15 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO17 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记17 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数17 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全