![]() |
1
11
我在当前的项目中也做了同样的工作,只是将一组枚举作为管道分隔的数字进行持久化。它的工作原理是一样的。
|
![]() |
2
0
我为mysql set数据类型实现了类似的功能,它是数据库中逗号分隔的列表,但实体模型中的字符串列表。它涉及到在nhibernate中使用基于primitiveType类的自定义数据类型。您可以使用映射和映射上的.customType<customType>()方法将此连接到中。 如果你愿意,我可以给你发送一个自定义类的代码截图。 |
![]() |
3
0
我还为Point3D结构实现了类似的功能。正如cdmdotnet所说,您基本上想要实现和iuserType,它将通过nullsafeet/nullsafeget方法将特性打包/解包到单个字符串中。 您可能还需要实现equals()方法,这有点微妙。最好用一个例子来说明原因:
问题是,水合作用下的NHIBERNATE存储了对P.Features的引用,并将其与保存请求时P.Features的值进行了比较。对于不可变的属性类型,这很好,但在上面的示例中,这些引用是相同的,因此有效的比较是
显然,这一标准实现将始终返回false。 一个人应该如何处理这个问题?我不知道最佳实践是什么,但解决方案是:
如果你以前有过NHibernate的经验,我希望这能帮助你开始工作。如果不让我知道,我会尝试制定一个更详细的解决方案。 |
![]() |
Stu · 具有特定类型的字符串外键的NHibernate映射 7 年前 |
![]() |
Nick · Fluent NHibernate映射没有主键的联接表 7 年前 |
![]() |
ViqMontana · 如何使用结构图模拟基类? 7 年前 |
![]() |
Th3B0Y · 无法使用父Id保存子项 8 年前 |