今天我的系统中有三个联系人来源:
这些存储在不同的表中。我正在从内部ORM解决方案转向nhibernate,而nhibernate获得了很好的继承支持。因此,我正在考虑:
这种解决方案的好处在于,同步每个源码要容易得多。将用户从地址簿导入CRM系统只需创建CRM表并将其链接到基表中的用户即可。修改地址簿中的用户会自动在CRM中修改它。
它也可以轻松添加其他来源并保持所有内容同步。
我的问题是:你能看到这种解决方案有什么问题吗?
答案 0 :(得分:1)
加入丛林将是一个问题,导致性能问题。数据库不需要此配置,并且在强制执行此配置时速度会变慢。
数据库老手经常批评ORM的原因是(至少从我们的观点来看)向后,数据库的类层次结构的持久性远远低于设计表的效率然后修改类代码。
为什么不创建反映现有效率设计的类?
答案 1 :(得分:1)
每个层次结构使用一个表格更简单,但它放弃了2个功能:
我试过了两个。我更喜欢table-per-hierarchy而不是table-per-subclass,因为我喜欢将它们全部放在一个表中的简单性。