希望这是一个简单的问题。我在AS / 400上有一个遗留DB2数据库,其中Zip Code等字段存储为NUMERIC。在NHibernate中映射它们时,它们被视为整数,并且前导零丢失。通常我会使用
SELECT DIGITS(field) FROM TABLE
保留前导零,但我的理解是,如果我创建公式来纠正格式化,我强制该字段变为只读。
将NUMERIC类型(及其前导数字)映射到字符串类型然后再返回的正确方法是什么?
答案 0 :(得分:1)
你正试图在错误的水平上处理它。
领先的零是显示问题;只需使用"00000"
作为格式字符串。
答案 1 :(得分:0)
迭戈是对的,但是如果你真的需要在你的域中将邮政编码表示为字符串,你可以实现自己的IUserType并在你的映射中使用它。但是,我不确定您是否能够将前导零处理到数字数据库列中(如果这是您需要的)。我认为如果您将邮政编码存储为数据库中的“392”然后将其显示为“00392”就足够了。
要快速了解创建IUserType所涉及的内容,请查看此博文:Mapping Strings to Booleans using NHibernate's IUserType