繁体   English   中英

EF Core 级联删除

[英]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 属性。

  1. 是否有可以应用于实体 class 中的 FK 属性的属性?

  2. 在代码中还有其他方法可以做到这一点吗?

  3. 如何修改迁移文档以巩固 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM