不能添加一对多的RelationShip

时间:2019-07-11 09:15:49

标签: sql-server entity-framework

为了优化代码,我试图在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.

此错误在microsoft support

中有所描述

我了解的是,触发了该错误,因为已经存在一个从CrateSessions实体到Operations实体的带有外键的路径,可以在SqlServer图中将其视为实体TicketOffices。

是否有解决方案来建立此“一对多”关系船,或者在这种情况下是不可能的? RelationShip

更新

我发现了一个笑脸问题here,解决方案是禁用级联删除OnModelCreating:

  modelBuilder
    .Entity<VendorDetails>()
    .HasOptional(e => e.State)
    .WithMany()
    .WillCascadeOnDelete(false);

因此,如果我对操作执行此操作,则删除CrateSession对象不会触发“删除操作”吗?

0 个答案:

没有答案