如果在db中有char(5)列并且那里有“ABC”,如果将此列映射到字符串属性,您会发现nhibernate会将其映射为“ABC__”,其中下划线表示的是某种(我没有检查过它是什么ascii代码)有谁知道如何使nhibernate映射char(n)列为字符串而不添加尾随空格?
很长一段时间,现在我们通过将列更改为varchar并修剪数据库中的所有条目来解决此问题。如果有一个解决方案让我们将列保留为char(n)(如果只是为了节省我们的一些工作)会更好一些。(
我想我可以尝试在get和padding上修剪,但那并不是'不要让我成为最大的解决方案。
那么,有没有一些不错的方法来配置nhibernate读取char(n)列到一个字符串,而没有它读额外的空白?
谢谢!
修剪到get是不够的,有时如果您将属性读入某个用户可编辑字段(如datagridview),则修剪后的值会重新设置为set,并且会话被刷新无用的更新语句将被创建 – 2011-12-23 23:09:41
尽管如此,我只是在想,我可以确保将所有进入该设置的值都放回原来的位置。我只是希望有一些不可思议的方式来配置能够阻止我每次都这样做的事情。 – 2011-12-23 23:11:03
“如果会话被刷新无用的更新语句得到创建”除非你的应用程序中有些事情会自动保存实体(与用户点击某个按钮相反),否则无用更新的数量将变得相当可观。用户将不得不打开该实体,不做任何更改并单击保存。我不认为这经常发生。 – 2011-12-23 23:15:01