【发布时间】:2019-02-15 07:22:18
【问题描述】:
我正在尝试使用上下文创建架构。
Database.ExecuteSqlCommand(“CREATE SCHEMA @p0”, <schemaNameParameter>)
它给出了以下错误:
42601:$1 或附近的语法错误
我尝试了针对 DML 的类似问题给出的其他解决方案,但它们在我的情况下不起作用。
【问题讨论】:
标签: npgsql
我正在尝试使用上下文创建架构。
Database.ExecuteSqlCommand(“CREATE SCHEMA @p0”, <schemaNameParameter>)
它给出了以下错误:
42601:$1 或附近的语法错误
我尝试了针对 DML 的类似问题给出的其他解决方案,但它们在我的情况下不起作用。
【问题讨论】:
标签: npgsql
我找到了一个解决方案,可能不是很优雅,但有效:
var con = _context.Database.GetDbConnection();
con.Open();
try
{
using (var cmd = con.CreateCommand())
{
cmd.CommandText = $"CREATE SCHEMA IF NOT EXISTS \"<schemaName\">";
await cmd.ExecuteNonQueryAsync();
}
}
finally
{
con.Close();
}
PS:仍在尝试找到一个解决方案,该解决方案采用参数而不是模式名称的内联值。 (注意:我在执行此命令之前使用正则表达式验证以确保没有注入尝试)
【讨论】: