Jon*_*Jon 2 .net c# nhibernate orm fluent-nhibernate
我有一个SQL数据库和一个具有相同模式的Oracle数据库.
因此,我想将我的模型类用于两个数据库,我将要做的就是更改Fluent NHibernate配置中的数据库连接字符串.
我有一些列的数据库字符数据类型,但在我的模型类中,我将它们设置为字符串,但是当它们从查询返回时,它们填充了空格.
当我使用这些列查询数据库时,如何在不引起问题的情况下返回它们,因为它们需要匹配固定长度规范.
您可以创建一个实现,NHibernate.UserTypes.IUserType在从数据库中获取时修剪空白,并在返回数据库时重新填充它.
在你的流利的映射,你只需要添加.CustomType<T>哪里T是你IUserType实现.
本文有助于正确实现IUserType.不要让挂了类似的方法Assemble,Disassemble,DeepCopy,Replace-它看起来并不像你永远打的,甚至.你最关心的是NullSafeGet,你将在其中修剪,并NullSafeSet在其中重新填充.
经过进一步考虑,我不确定在插入数据库时你实际上是否需要重新填充值 - 数据库本身将强制执行列的固定长度.
为了回应您在评论中提供的链接,我认为实现几乎可以帮助您,但我认为您可能需要对其进行一些修改.首先,你可能不想修剪前导空格和尾随空格Trim().另一方面,在你的覆盖中Equals,你会想要的
Run Code Online (Sandbox Code Playgroud)value
平等
值
| 归档时间: |
|
| 查看次数: |
3309 次 |
| 最近记录: |