5
我有几个表,它们都是用多对多的关系互相引用而不是正常的类型。实体框架多对多的关系没有主键
通常,多对多关系具有连接表,该连接表连接主键上的其他两个表。
在我的情况下,我有几个表彼此通过共享匹配的外键相互关联。
我有两张表的病历。
- 分配给患者的医生。
- 患者检查结果。
我不允许存储除患者身份以外的任何关于患者的信息(我没有理由),因此在患者表中没有任何意义。
我如何将医生与测试结果联系起来?
它们都有一个不存在的表的外键。即它们都具有患者记录号码,但没有患者记录号码表(记录号码由我无法访问的系统生成)。
所以实际上它们处于彼此之间的多对多关系。
我确实想过制作一个表来保存记录ID。该表将有一列是主键,而没有别的。
该解决方案根本不适用于我。
- 如果添加新的测试结果,我的存储不可知(poco)库将无法检查患者是否在我们的系统中。
- 即使我确实将数据库上下文传递给管理库。这意味着系统每次需要添加测试记录时都需要进行数据库调用,以查看患者是否有任何以前的记录,或者这是否是第一次。所有在没有目的的表格中添加记录。在高峰处理时间,这可能是每分钟数千次。如果你只是访问clr对象,那么这样做可能是微不足道的,但如果你需要为每一个对象创建一个数据库调用,那么这种做法是完全压倒性的。
谢谢!
这打破了关系数据库建模的规则,所以它不会同出一桥表链接支持记录 – 2011-08-03 05:04:08
我很确定患者需要存在于你想做的事情中。 – Derek 2013-11-29 08:50:18