我正在使用 EF 4.3 迁移功能来创建数据库迁移脚本。当我运行 Add-Migration 命令时,生成的脚本是这样创建的:
CreateTable(
"dbo.Recipients",
c => new
{
RecipientID = c.String(nullable: false, maxLength: 128),
SurveyRoundID = c.String(nullable: false, maxLength: 128),
LastUpdatedAt = c.DateTime(),
})
.PrimaryKey(t => t.RecipientID)
.ForeignKey("dbo.Employees", t => t.EmployeeID, cascadeDelete: true)
.ForeignKey("dbo.SurveyRounds", t => t.SurveyRoundID, cascadeDelete: true)
.Index(t => t.EmployeeID)
.Index(t => t.SurveyRoundID);
我遇到的问题是,即使实体 Recipient 不是关系的主人,脚手架迁移也会选择 cascadeDelete 为真。
现在我手动将 cascadeDelete 参数更改为 false,但我想知道为什么它默认选择 true。
谢谢你,伊多。