环境:Visual Studio, Blazor .NET 5, Azure SQL Server
我有一个有两个FK的实体。如果我在一个FK表中删除一条记录,我会得到典型的引用错误。在https://learn.microsoft.com/en-us/ef/core/saving/cascade-delete中,它似乎说级联删除是默认的。当我生成一个新的迁移(添加-迁移级联)时,没有
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
…在生成的迁移文档中附加到相关实体的FK属性。
是否有一个属性可以应用于实体类中的FK属性?
是否有其他方法在代码中做到这一点?
我如何修改迁移文档来巩固?
这就是我最后做的。我在代码
中做的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类中添加以下内容:
public IList<Activity> Activitys { get; } = new List<Activity>();
不需要进一步的代码。不需要像上面那样填充列表。看来英孚在这方面做得天衣无缝。不需要注释迁移文件。