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$
;
相关推荐
小天努力学java1 小时前
【软考-架构】14、软件可靠性基础
数据库·架构
yyyyyyykk1 小时前
Spring知识点总结
数据库·mysql·spring
小L爱科研1 小时前
5.3/Q1,GBD数据库最新文章解读
数据库·数据分析·逻辑回归·线性回归·健康医疗
百万蹄蹄向前冲2 小时前
动图MangoDB 8.0.8从安装到使用
数据库·mongodb·豆包marscode
maomi_95262 小时前
头歌实训之存储过程、函数与触发器
数据库
道剑剑非道2 小时前
QT开发技术【QT实现桌面右下角消息】
开发语言·数据库·qt
星星点点洲5 小时前
【缓存与数据库结合最终方案】伪从技术
数据库·缓存
小黑屋的黑小子5 小时前
【MySQL】MySQL索引与事务
数据库·mysql·oracle
艺杯羹8 小时前
JDBC之ORM思想及SQL注入
数据库·sql·jdbc·orm·sql注入