【发布时间】:2020-09-03 20:04:26
【问题描述】:
我在 Windows 上运行 Postgres 12,并且有一个使用 Dapper 作为 ORM 的 .Net Core 应用程序:
以下查询工作正常:
var sql = "SELECT 1 FROM pg_roles WHERE rolname=@un"
var result = con.ExecuteScalar<int>(sql, new {un = "someuser"});
现在我正在尝试执行一个创建角色的 sql 语句:
var sql = @"CREATE ROLE @un WITH LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION PASSWORD @pw";
con.Execute(sql, new {un = "someuser", pw = "somepass");
此查询失败,出现以下异常:Npgsql.PostgresException: '42601: syntax error at or near "$1"'。
我在这里错过了什么?
【问题讨论】:
标签: sql postgresql .net-core dapper