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$
;