EF CORE - 流畅 API - 级联删除限制为开 table

EF CORE - Fluent API - cascading delete restrict to on table

型号:

public class AccountUser
{
    public long AccountUserId { get; set; }
    ...
    public long UserPermissionGroupId { get; set; }
    public UserPermissionGroup UserPermissionGroup { get; set; }
}

public class UserPermissionGroup
{
    public long UserPermissionGroupId { get; set; }
    ...
    public string Name { get; set; }
}

问题: 如何在 table AccountUser->UserPermissionGroup 上设置外键以限制删除?

我找不到如何在删除操作上设置外键以限制为仅一个 table 的示例。我不能像本例 https://docs.microsoft.com/en-us/ef/core/modeling/relationships#cascade-delete-1 那样使用 WithMany/WithOne 然后使用 OnDelete,因为我没有从 UserPermissionGroup 返回到 AccountUser 的引用。

非常感谢。

在你的流利 API 中,你可以这样做:

builder.Entity<AccountUser>()
    .HasOne(a => a.UserPermissionGroup)
    .WithOne().OnDelete(DeleteBehavior.Restrict);