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$
;
相关推荐
m0_743470373 分钟前
Python字典与集合:高效数据管理的艺术
jvm·数据库·python
2501_945423543 分钟前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python
yhole5 分钟前
MySQL无法连接到本地localhost的解决办法2024.11.8
数据库·mysql·adb
2401_851272998 分钟前
使用Python进行量化交易入门
jvm·数据库·python
jinanmichael11 分钟前
mysql用户名怎么看
数据库·mysql
李少兄18 分钟前
企业资源计划(ERP)系统全景指南
java·前端·数据库·erp
marsh020624 分钟前
17 openclaw数据库连接池配置:避免性能瓶颈的关键
数据库·ai·oracle·编程·技术
2301_8184190144 分钟前
Python内存管理机制:垃圾回收与引用计数
jvm·数据库·python
2401_891655811 小时前
开源项目吐槽大会技术文章大纲
数据库·云原生