【问题标题】:Defining a "Belongs to"-relationship in FluentAPI - EF Core在 FluentAPI 中定义“属于”关系 - EF Core
【发布时间】:2019-11-13 10:17:49
【问题描述】:

我有 2 个如下表: Table design

我想在一个实体框架Core项目中成为这些东西:

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

谁能解释我如何使用 FluentAPI 方法变成这样,我似乎找不到正确的方法,因为我的 DeleteBehaviour 似乎不起作用。

【问题讨论】:

  • 是一个(用户)对一个(团队成员)吗?还是一个(用户)对多个(团队成员)?
  • 听起来像是标准的一对一关系,User 是主体,TeamMember 是依赖者。我们需要相关类(尤其是导航属性)以便为您提供流畅的配置。
  • @GabrielLlorico 应该是一对一的 - 请参阅第 5 条(共享 PK 关联)。
  • @IvanStoev 在上面加了一个答案,只是看到晚了

标签: c# entity-framework-core ef-fluent-api


【解决方案1】:

试试这个,这将在删除 User 时删除 TeamMember

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2020-09-28
    • 2021-05-20
    • 2016-12-19
    • 1970-01-01
    相关资源
    最近更新 更多