[英]EF Core Cascade Delete
上下文:Visual Studio,Blazor .NET 5,Azure Z9778840A0100CB30C58287674BZ服务器
我有一个有两个 FK 的实体。 如果我删除 FK 表中的一条记录,我会收到典型的引用错误。 在https://docs.microsoft.com/en-us/ef/core/saving/cascade-delete中似乎说 Cascade Delete 是默认设置。 当我生成一个新的迁移(添加迁移级联)时,没有
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
...附加到生成的迁移文档中相关实体的 FK 属性。
是否有可以应用于实体 class 中的 FK 属性的属性?
在代码中还有其他方法可以做到这一点吗?
如何修改迁移文档以巩固 th?
这就是我最终要做的......我在代码中做到了
public async Task DeleteRound(int Id) { var round = _context.Rounds.Where(e => e.Id==Id).Include(e => e.Activitys).First(); _context.Rounds.Remove(round); await _context.SaveChangesAsync(); }
我必须将以下内容添加到 Round Class:
public IList<Activity> Activitys { get; } = new List<Activity>();
无需进一步的代码。 无需像上面那样填充列表。 似乎 EF 正在无缝地做到这一点。 无需注释迁移文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.