【发布时间】:2020-10-13 22:28:33
【问题描述】:
数据库:Postgresql
ORM:带有 Npgsql.EntityFrameworkCore.PostgreSQL 的实体框架核心
试图将下面的函数调用为 json 传递产品列表
dbContext.product.FromSqlRaw("SELECT pa.usp_set_product({0})", productjson).ToList();
返回错误为:“42883:函数 pa.usp_set_product(text) 不存在”
然后在下面尝试
dbContext.product.FromSqlRaw(@"SELECT pa.usp_set_product('" + productjson+ "')").ToList();
返回错误:“输入字符串的格式不正确”
然后在下面尝试,效果很好
using (var cmd = new NpgsqlCommand(@"SELECT pa.usp_set_product(@productjson)", conn))
{
cmd.Parameters.Add(new NpgsqlParameter("productjson", NpgsqlDbType.Json) { Value = productjson});
cmd.ExecuteNonQuery();
}
任何想法,请-
- 为什么带 JSON 参数的 FromSqlRaw 不起作用
- 使用 NpgsqlCommand 有什么缺点吗 - 它是否支持 Linux-container(docker)
谢谢,
@保罗
【问题讨论】:
标签: c# docker entity-framework-core npgsql linux-containers