【发布时间】:2015-03-04 06:06:42
【问题描述】:
我正在尝试在 ASP.NET vNext 应用程序中使用 EF7 配置级联删除,但我找不到如何操作。
我正在覆盖OnModelCreating,并且我有这个代码:
modelBuilder.Entity<Category>()
.OneToMany<Category>( e => e.SubCategories )
.ForeignKey( e => e.ParentCategoryId );
生成的迁移如下所示:
migrationBuilder.AddForeignKey("Category", "FK_Category_Category_ParentCategoryId", new[] { "ParentCategoryId" }, "Category", new[] { "Id" }, cascadeDelete: false);
有人知道配置级联删除的扩展是在哪个命名空间中定义的吗?
谢谢!
【问题讨论】:
-
为什么不在生成的迁移代码中设置 cascadeDelete: true ?
-
我可以,但每次添加新迁移时都会关闭它吗?
-
不,每次迁移都会有一个迁移代码,因此您可以安全地编辑生成的代码,它不会被新的迁移覆盖
-
好的...但是模型构建器没有办法做到这一点吗?对我来说,这更像是一种解决方法,而不是一个干净的解决方案。此功能是否已在 EF7 中实现?
-
这还没有实现,这里正在跟踪工作github.com/aspnet/EntityFramework/issues/333
标签: asp.net-core entity-framework-core