如何在 Postgres 中删除区分大小写?

Posted

技术标签:

【中文标题】如何在 Postgres 中删除区分大小写?【英文标题】:How to remove Case Sensitive in Postgres? 【发布时间】:2020-05-09 21:52:49 【问题描述】:

我已经阅读了几篇文章,其中提到在创建带有大写字母的表或字段时,postgres 区分大小写会自动激活。 我还阅读了一些与引号的使用有关的内容。

但是,我的银行没有任何大写字母或表格。 它们也没有引号中的名称。

我正在使用 Postgres 9.2 和 Entity Framework,我收到此错误:

Npgsql.PostgresException (0x80004005): 42P01: 关系“Usuario”确实 不存在

我的专栏叫'usuario'

我使用 DataAnnotation [Table (name = 'user')] 进行了测试,在这种情况下搜索正确的。但是我不能在所有类/属性中添加注释。

相同的系统、类/属性,在 mysql 数据库中正常工作。 如何配置 Postgres?

【问题讨论】:

【参考方案1】:

您可以设置 EF 命名约定using UseSnakeCaseNamingConvention。或者,如果您想将现有表中的表定义导入 EF,您可以

dotnet ef dbcontext scaffold "Host=my_host;Database=my_db;Username=my_user;Password=my_pw" Npgsql.EntityFrameworkCore.PostgreSQL

您也可以考虑升级您的 PostgreSQL 版本,不再支持 9.2。这不影响命名中的大小写问题。

【讨论】:

以上是关于如何在 Postgres 中删除区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章

Postgres 12 不区分大小写的比较

Django 中的唯一模型字段和区分大小写(postgres)

Django 中的唯一模型字段和区分大小写(postgres)

MS Access + Postgres 口音/不区分大小写的可编辑过滤器

如何在 SQL Server 2008 中删除区分大小写的检查?

实体框架核心 - 包含区分大小写还是不区分大小写?