EF Code首次级联删除外键一对多

我们首先在Entity框架代码中工作

我们有一个课堂video

class Video{ List Images{ get; set; } } 

我们的图像infoclass包含图像的路径和一些其他信息

 class ImageInfo{ String path; ... } 

我们希望在删除video时让EF删除imageinfos

所以我们改变了模型构建器,如下所示:

 modelBuilder .Entity 

我们不想在imageinfo类中添加回video的链接。

是否有可能在没有双向外键的情况下获得级联删除function?

编辑

保存video时,imageInfo的video_id不会填入数据库中。

http://pbrd.co/14X82vb

我们该如何解决这个问题?

我不知道它是否相关,但是当我们同时添加带有图像的新video时,我们会收到此错误:

 Unable to determine a valid ordering for dependent operations. Dependencies may exist due to foreign key constraints, model requirements, or store-generated values. 

WithRequired引入了双向关系。 所以你应该做以下事情。

 modelBuilder .Entity 

……并假设你想要这种关系……

 public class Video { } public class ImageInfo { public virtual Video { get; set; } } modelBuilder .Entity() .HasRequired(v => v.Video) .WithMany() .WillCascadeOnDelete(true); 

PS:我认为List应该是virtual ,所以这里是我如何定义它…

 public class Video { public Video() { this.Images = new List(); } public virtual ICollection Images { get; set; } }