【发布时间】:2012-12-04 15:29:14
【问题描述】:
当您在 EF 代码优先中设置 one:many 关系时,您可以选择它是否应该像这样在删除时级联:
modelBuilder.Entity<Assessment>()
.HasRequired(asmt => asmt.CreatedByUser)
.WithMany(usr => usr.Assessments)
.HasForeignKey(asmt => asmt.CreatedByUserId)
.WillCascadeOnDelete(true);
这转换为外键定义的 SQL ON DELETE CASCADE 部分,即。
ALTER TABLE [dbo].[Assessment] WITH CHECK ADD CONSTRAINT [FK_dbo.Assessment_dbo.User_CreatedById] FOREIGN KEY([CreatedById])
REFERENCES [dbo].[User] ([UserId])
ON DELETE CASCADE
GO
但是,Fluent API 中似乎没有类似的方法可以让您控制ON UPDATE CASCADE 的值,即。类似.WillCascadeOnUpdate()。为什么不呢?
【问题讨论】:
标签: c# .net entity-framework ef-code-first