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) 的字符变化的主要内容,如果未能解决你的问题,请参考以下文章