为了优化代码,我试图在CreateSessions和Operations entites之间添加一对多关系。
CreateSessions 1-*操作
所以我在Operations实体中将外键添加到Link CreateSessionId,运行项目时出现此错误:
Introducing FOREIGN KEY constraint 'FK_dbo.Operations_dbo.CrateSessions_CrateSessionId' on table Operations may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
中有所描述
我了解的是,触发了该错误,因为已经存在一个从CrateSessions实体到Operations实体的带有外键的路径,可以在SqlServer图中将其视为实体TicketOffices。
是否有解决方案来建立此“一对多”关系船,或者在这种情况下是不可能的?
我发现了一个笑脸问题here,解决方案是禁用级联删除OnModelCreating:
modelBuilder
.Entity<VendorDetails>()
.HasOptional(e => e.State)
.WithMany()
.WillCascadeOnDelete(false);
因此,如果我对操作执行此操作,则删除CrateSession对象不会触发“删除操作”吗?