EF CORE - Fluent API - 级联删除限制到表

fer*_*and 1 c# ef-fluent-api .net-core ef-core-2.0

该模型:

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; }
}
Run Code Online (Sandbox Code Playgroud)

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

我无法找到如何在删除操作上设置外键以限制只有一个表的示例.我不能使用类似WithMany/WithOne然后OnDelete如本例https://docs.microsoft.com/en-us/ef/core/modeling/relationships#cascade-delete-1因为我没有从UserPermissionGroup参考回到AccountUser.

非常感谢你.

i r*_*lar 5

在您的流畅API中,您可以执行以下操作:

builder.Entity<AccountUser>()
    .HasOne(a => a.UserPermissionGroup)
    .WithOne().OnDelete(DeleteBehavior.Restrict);
Run Code Online (Sandbox Code Playgroud)