![]() |
1
0
简单的答案是否定的。NHibernate要求您映射并指定具体的类。 关于连接的子类映射,有一个漫长而混乱的答案,它在某种程度上是有效的,因为它允许您映射一个接口类型,然后映射实现该接口的所有具体类型,这些类型可以持久化,但它并没有真正给到您想要的东西,即将接口属性映射到DB,然后获取/保存任何满足接口的旧实体的能力,具有指定的默认类型。
你可以写一些包装
(此外:如果你只是出于IoC的目的使用接口,即在“正常”操作中,IUser和具体类型之间会有一对一的映射,例如,出于测试目的,有一个模拟用户,那么你可以做的是将NHibernate封装在一个存储库后面,该存储库知道如何与你的IoC解决方案对话以获得具体类型,然后采取相应的行动隐式转换。我已经这样做了,它很有效,但有点乱。) |
![]() |
Nico Pizzo · 子查询上的nhibernate联接 7 年前 |
![]() |
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 7 年前 |
![]() |
Stu · 具有特定类型的字符串外键的NHibernate映射 7 年前 |
![]() |
Zout · 为Hibernate的HiLo算法管理的列生成ID 7 年前 |