我正在开发一个将用作其他应用程序的可扩展框架的应用程序。
基本类之一称为节点,节点具有内容。SQL表如下所示:
TABLE节点(NodeId int,....等)
表格NodeContentRelationship(NodeId int,ContentType字符串,ContentId int)
开发人员可以扩展应用程序以创建自己的内容类型。
显然,从关系数据库的角度来看,这很不好,因为即使它 是 外键列,也无法向NodeContentRelationship.ContentId添加外键关系。
但是,该解决方案非常简单且功能强大,因此我不愿意对其进行更改。
您如何看待-我在这个痛苦的世界中生活吗?
为什么不可能将其设置NoteContentRelationship.ContentId为外键?可以方便地用一个关系继承模型用表Content表示一个抽象基类,和各种表AnimalContent,CarContent等等代表的派生类。
NoteContentRelationship.ContentId
Content
AnimalContent
CarContent