NHibernate 拒绝验证 postgres12 中 varchar(255) 的字符变化

Posted

技术标签:

【中文标题】NHibernate 拒绝验证 postgres12 中 varchar(255) 的字符变化【英文标题】:NHibernate refuses to validate character varying for varchar(255) in postgres12 【发布时间】:2020-11-16 21:21:19 【问题描述】:

我已经设置了一个小项目来修补 NHibernate。我正在使用带有 Npgsql-Driver 的 pgsql 12 服务器。

我的一些属性是字符串,我在他们的地图中这样定义它们(按代码映射)

property(i => i.Name, m =>
            
                m.Column("name");
                m.Type(NHibernateUtil.String);
            );

但是对于我所有的字符串属性,它都会得到

postgres.public.instances 中列名的列类型错误。找到:字符变化,预期 varchar(255)

这是我的错误配置,还是 NHibernate/Driver 中缺少某些类型/关键字映射?

【问题讨论】:

【参考方案1】:

我决定改用 NHibernateUtil.StringClob。那个映射到底层的 pgsql 类型文本,在函数中使用时实际上几乎没有性能损失和一些优势。

【讨论】:

以上是关于NHibernate 拒绝验证 postgres12 中 varchar(255) 的字符变化的主要内容,如果未能解决你的问题,请参考以下文章

彻底检查电子邮件是不是存在,NHibernate,LINQ

在 Nhibernate 中加载与获取

LSJ_NHibernate

使用自动映射时如何使用 Fluent NHibernate Validator?

jQuery验证器:表单拒绝验证

获取NHibernate以生成HiLo字符串ID