bur*_*zan 5 c# postgresql stored-procedures dapper .net-core
当我尝试使用 dapper 调用 postgre 函数时出现错误。我哪里做错了?如果你能帮助我,我会很高兴。
错误信息:
availability_list(facilityId => integer, startDate => timestamp without time zone, endDate => timestamp without time zone) does not exist"
Run Code Online (Sandbox Code Playgroud)
使用 Dapper 调用 postgre 函数:
var func = "public.availability_list";
var result = db.Query<ReportResponse>(
sql: func,
param: new { facilityId = request.FacilityId, startDate =
DateTime.Now, endDate = DateTime.Now },
commandType: CommandType.StoredProcedure,
commandTimeout: 900) as List<ReportResponse>;
Run Code Online (Sandbox Code Playgroud)
我的 Postgre 函数:
CREATE FUNCTION Availability_List(facilityId int, startDate date, endDate date)
RETURNS report_type[]
AS
$$
DECLARE
result_record report_type[];
BEGIN
result_record := array(
SELECT...
);
RETURN result_record;
END $$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我希望您需要指定参数、函数的模式并且结果应该匹配。以下可能会起作用,之后您可以替换返回类型以查看它是否正确映射。
var result = _connection.Query<dynamic>(
"SELECT dbo.Availability_List(@facilityId, @startDate, @endDate)",
new {
facilityId = request.FacilityId,
startDate = DateTime.Now,
endDate = DateTime.Now
},
commandType: CommandType.Text,
commandTimeout: 900);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6929 次 |
| 最近记录: |