首页 > 解决方案 > 在 FluentAPI 中定义“属于”关系 - EF Core

问题描述

我有 2 个表格,如下所示: 表格设计

我想在 Entity Framework Core项目中成为这些东西:

  1. 用户不必TeamMember
  2. 每个团队成员都是用户
  3. 当我删除用户时,必须删除TeamMember
  4. 当我删除TeamMember时,用户必须保持不变
  5. TeamMember主键是用户的外

任何可以向我解释如何使用 FluentAPI 方法实现这一点的人,我似乎都找不到正确的方法,因为我的 DeleteBehaviour 似乎不起作用。

标签: c#entity-framework-coreef-fluent-api

解决方案


试试这个,这将TeamMember删除User.

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<TeamMember>()
        .HasOne(b => b.User)
        .WithOne(TeamMember)
        .IsRequired()
        .OnDelete(DeleteBehavior.Cascade);
}

推荐阅读