3.5 创建模型-关系

术语定义

有许多术语用于描述关系

  • 相关实体: 这是包含外键属性的实体。 有时称为关系的 "子级"。
  • 主体实体: 这是包含主/备用键属性的实体。 有时称为关系的 "父项"。
  • 主体密钥: 唯一标识主体实体的属性。 这可能是主键或备用密钥。
  • 外键: 用于存储相关实体的主体键值的依赖实体中的属性。
  • 导航属性: 在主体和/或从属实体上定义的属性,该属性引用相关实体。
    • 集合导航属性: 一个导航属性,其中包含对多个相关实体的引用。
    • 引用导航属性: 保存对单个相关实体的引用的导航属性。
    • 反向导航属性: 讨论特定导航属性时,此术语是指关系另一端的导航属性。
  • 自引用关系: 依赖关系和主体实体类型相同的关系。

下面的代码显示与之间的一对多关系 Blog``Post

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }

    public List<Post> Posts { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }

    public int BlogId { get; set; }
    public Blog Blog { get; set; }
}
  • Post是依赖实体
  • Blog是主体实体
  • Blog.BlogId是主体键(在本例中为主密钥,而不是备用密钥)
  • Post.BlogId为外键
  • Post.Blog是一个引用导航属性
  • Blog.Posts是集合导航属性
  • Post.Blog是的反向导航属性 Blog.Posts (反之亦然)
posted @ 2020-07-22 14:25  maanshancss  阅读(174)  评论(0编辑  收藏  举报