谈谈如何在EF Core中创建一对一 ,一对多,多对多的数据关系

本文详细介绍了如何在EF Core中配置一对一、一对多和多对多的数据关系。通过术语解释、代码示例和步骤总结,展示了如何定义外键、导航属性以及如何通过API进行配置。对于多对多关系,提出通过建立连接实体来实现。
摘要由CSDN通过智能技术生成

术语定义

有许多术语用于描述关系

  • 相关实体: 这是包含外键属性的实体。 有时称为关系的 "子级"。

  • 主体实体: 这是包含主/备用键属性的实体。 有时称为关系的 "父项"。

  • 主体密钥: 唯一标识主体实体的属性。 这可能是主键或备用密钥。

  • 外键: 用于存储相关实体的主体键值的依赖实体中的属性。

  • 导航属性: 在主体和/或从属实体上定义的属性,该属性引用相关实体。

    • 集合导航属性: 一个导航属性,其中包含对多个相关实体的引用。

    • 引用导航属性: 保存对单个相关实体的引用的导航属性。

    • 反向导航属性: 讨论特定导航属性时,此术语是指关系另一端的导航属性。

  • 自引用关系: 依赖关系和主体实体类型相同的关系。

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

C#复制

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 为外键

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值