将表中的一列与两个现有表相关联

时间:2014-10-22 21:34:29

标签: sql linq orm migration database-migration

我的数据库有以下表格:

  1. Resource:某些资源可以在网站上传
  2. Groups:网站上的群组
  3. Users:网站上的用户(不一定是任何群组的一部分,但如果他们愿意,可以是他们的一部分)
  4. 现在,当某个人当前上传资源时,默认情况下会向该资源uploader提供该资源的所有权。因此resource表具有与OwnerID表的外键关联的列User

    但现在,必须对此进行更改,以便resource的所有权可以授予用户或整个群组。

    我试图决定迁移方案,将此owner用户移动到可能是usergroup的实体。直觉是当有人上传资料时,他可以选择其所有者为user或整个group

    目前我的迁移计划涉及:

    1. OwnerType表格中添加UserOwner(用户,群组,全局)和GroupOwner以及Material(可能更差的规范化表格)。
    2. 如果所有者为所有人,则
    3. OwnerType可以为Global - 如果所有者为Group其他实体group,则为user
    4. 然后,当我查询Resource表时,我可以检查OwnerType以便从user表或group表中选择其所有者。< / LI>

      我不知道这是不是好方法。我使用的是实体框架,因为UserGroup几乎没有任何需要我制作广义实体的relationaship,所以事情已经开始变得难看了。

      有些专家可以指导我吗?在这种情况下,通常认为什么是良好的迁移计划?感谢您提供任何帮助或建议。

0 个答案:

没有答案