使用 EF Core 为 npgsql 创建架构失败
Create Schema using EF Core failing for npgsql
我正在尝试使用上下文创建架构。
Database.ExecuteSqlCommand(“CREATE SCHEMA @p0”, <schemaNameParameter>)
出现以下错误:
42601: Syntax error at or near
我尝试了针对 DML 的类似问题给出的其他解决方案,但它们对我的情况不起作用。
我找到了一个解决方案,可能不是很优雅,但有效:
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:仍在尝试找到一个采用参数而不是模式名称的内联值的解决方案。 (注意:我在执行此命令之前使用正则表达式验证以确保没有注入尝试)
我正在尝试使用上下文创建架构。
Database.ExecuteSqlCommand(“CREATE SCHEMA @p0”, <schemaNameParameter>)
出现以下错误:
42601: Syntax error at or near
我尝试了针对 DML 的类似问题给出的其他解决方案,但它们对我的情况不起作用。
我找到了一个解决方案,可能不是很优雅,但有效:
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:仍在尝试找到一个采用参数而不是模式名称的内联值的解决方案。 (注意:我在执行此命令之前使用正则表达式验证以确保没有注入尝试)