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; } }