Entity framework 为什么我的EF Core迁移忽略了模型&x27;什么是删除设置?
我在一个看似徒劳的示例中有以下代码,试图为外键配置Entity framework 为什么我的EF Core迁移忽略了模型&x27;什么是删除设置?,entity-framework,entity-framework-core,.net-core,Entity Framework,Entity Framework Core,.net Core,我在一个看似徒劳的示例中有以下代码,试图为外键配置OnDelete行为: protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Contact>() .HasOne(e => e.Gender) .WithMany()
OnDelete
行为:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Contact>()
.HasOne(e => e.Gender)
.WithMany()
.HasForeignKey(e => e.GenderId)
.OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<Contact>()
.HasOne(e => e.Title)
.WithMany()
.HasForeignKey(e => e.TitleId)
.OnDelete(DeleteBehavior.Restrict);
}
blazes从何处获得
SetNull
,在不可为空的列上,GenderId
<代码>级联可能是默认设置,忽略了我的配置。根据@bricelam的建议,我提交了一个问题,在不到24小时内得到了正确的响应。微软的Smit Patel建议:
在您的project.json
中,您可以参考
Microsoft.EntityFrameworkCore.Commands
曾被弃用过一段时间
应将其删除
我删除了它,重新生成的迁移现在具有两个FK的正确的
onDelete
值。看起来像个bug。你能吗?@IvanStoev请告诉我为什么它不适用于EF Core?什么是<代码>微软.EntyTramework Cyr.*/Cuth>如果不是EF内核,我使用的包是什么?你的问题是什么,你可以考虑@ BrCelelm建议,因为我不能用EF Cub/Fuln.Net框架来复制它。我已经提交了一个问题,而魔鬼自己正在处理它:6668@IvanStoev是的,对不起,我刚回答就怀疑这是无关的。
constraints: table =>
{
table.PrimaryKey("PK_Contact", x => x.Id);
table.ForeignKey(
name: "FK_Contact_Gender_GenderId",
column: x => x.GenderId,
principalTable: "Gender",
principalColumn: "Id",
onDelete: ReferentialAction.SetNull);
table.ForeignKey(
name: "FK_Contact_Title_TitleId",
column: x => x.TitleId,
principalTable: "Title",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});