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);
型号:
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);