繁体   English   中英

EF Core、Postgres 调用带有字符串数组参数的存储过程

[英]EF Core, Postgres call a stored procedure with a string array parameter

我可以:

await _sensorContext.Database.ExecuteSqlRawAsync("call testproc()");

我可以这样做:

System.Data.Common.DbConnection? c = _sensorContext.Database.GetDbConnection();
c.Open();
var cmd = c.CreateCommand();
cmd.CommandText = "call dewpointaverage('{\"70B3D52DD50003AC\",\"70B3D52DD5000452\"}'::varchar[])";
cmd.ExecuteNonQuery();

哪个有效,但我无法弄清楚如何以任何一种(尽管最好是第一种)方法构建和传递参数数组。

没有返回结果集,proc 使用参数来计算值并填充表。

如何将参数数组传递到这些代码示例中的任何一个?

await this._sensorContext.Database
           .ExecuteSqlRawAsync("EXEC StoredProcedureName @FirstParameter, @SecondParameter",
               new SqlParameter("FirstParameter", "ParameterValue"),
               new SqlParameter("SecondParameter", "SecondParameterValue"));

要传递元素数组,您可以创建一个UserDataTable并按照本指南为您的存储过程提供一个列表。

表值参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM