我正在尝试使用上下文创建架构。
Database.ExecuteSqlCommand(“CREATE SCHEMA @p0”, <schemaNameParameter>)
出现以下错误:
42601:$ 1或附近的语法错误
我尝试了针对DML的类似问题的其他解决方案,但在我的情况下它们不起作用。
答案 0 :(得分:0)
我找到了一个解决方案,可能不是很好,但是可以工作:
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:仍在尝试寻找一种解决方案,该解决方案采用参数而不是模式名称的内联值。 (注意:在执行此命令之前,我正在使用正则表达式验证,以确保没有注入尝试)