I am trying to pass a table name as a parameter to the ExecuteSql() method.
This is what I have tried:
var viewName = "search_view";
using (var db = dbFactory.Open())
{
db.ExecuteSql("REFRESH MATERIALIZED VIEW @viewName;", new { viewName });
}
It doesn't work, it creates exception with the message of:
Npgsql.PostgresException
42601: syntax error at or near "$1"
I enabled logging to try to see what SQL is generated but I think because of the exception the query isn't logged.
The query runs fine when it is all text, what am I doing wrong passing in the table name as a parameter?