对于简单的博客项目,此实体数据模型设计是否正常?

时间:2012-06-07 12:25:20

标签: entity-framework ado.net-entity-data-model

我正在创建示例博客项目并设计了这个实体数据模型。

还有其他需要,我的意思是联合和导航属性......

Entity Data Model Design

我在以下基础上创建了这个设计..

  1. 用户可以有多个帖子(1到多个)
  2. 用户可以有很多评论(1对多)
  3. 用户可以拥有多个标签(1对多)
  4. 帖子可以有很多评论(1对多)
  5. 帖子可以有多个标签(1到多个)
  6. 我是否需要在帖子和用户之间创建1到1的关联 像

    1. 1个帖子必须且可以有1个用户(1对1)
    2. 标签必须且可以拥有1个用户(1对1)
    3. 我很困惑,我已经在所有这些之间创建了1对多的关系,并且我具有所需的导航属性。是否有必要创建上述1对1的关联?

1 个答案:

答案 0 :(得分:2)

一些建议:

  1. 继承看起来没必要。我认为,如果您希望您的模型与多种类型的用户一起成长,并且某些不同字段的帖子没有太多共同之处,那么我们可以为这些字段提供继承。像模型SuperUser NormalUser AdminUser继承自用户,他们有很多不常见的字段,这里看起来并不常见。

  2. 博客实体被排除在外?通常我们有博客实体拥有权利的用户创建博客,在该博客下,其他用户或仅(他自己视需求)可以撰写各种帖子。博客可以有很多帖子。话虽如此,博客实体不是强制性的,你可以没有它,但未来的修改可能会很昂贵。

  3. 标签和帖子是多对多的关系。帖子可以包含许多标签,但标签与许多帖子相关联。如果您想知道具有特定标签的帖子,那么您需要* to *。