在 C# 中使用模式前缀访问 postgres table

Access a postgres table using the schema prefix in c#

我在 c# 项目中使用 postgres,我正在尝试进行一些基本查询,例如

qry.CommandText = "select * from LOGIN";
NpgsqlDataReader qryReader = qry.ExecuteReader();

但是它说 table LOGIN 不存在。

我已经知道以下查询有效:qry.CommandText = "select * from \"myDataBase\".LOGIN"; 但我不想使用它。

我也从 this thread 得知我可以使用 SET search_path TO myschema,public; 在 psql 命令行中不带前缀地访问 table,但我不知道它对我的工作有何影响c# 项目。

此外,我有另一个项目不需要前缀,但我不知道为什么它适用于我的其他项目而不是这个。

如有任何帮助,我们将不胜感激。

谢谢

虽然 SET search_path TO myschema,public; 仅为当前会话设置 search_path,但您可以将其永久设置为用户 运行 命令:

ALTER USER username SET search_path TO myschema, public;