删除EF中相关的实体

时间:2013-12-28 11:01:31

标签: entity-framework

我有两个实体。文件和二进制文件。文件包含文件元数据,Binary包含文件内容。我想删除文件实例时删除二进制实例。我使用以下内容:

public partial class MyEntities : Entities
{
    public override int SaveChanges()
    {
        foreach (var entry in ChangeTracker.Entries<File>().Where(e => e.State == EntityState.Deleted))
        {
            entry.Reference<Binary>(i => i.FileBinary).EntityEntry.State = EntityState.Deleted;
        }

        return base.SaveChanges();
    }
}

此代码不起作用。我的意思是二进制实例不会被删除,也没有错误。任何人都能说出原因或更好的方法吗? 感谢

1 个答案:

答案 0 :(得分:0)

您必须添加代码的更多详细信息,例如EF类型(代码优先,模型优先,架构优先)等等。但是,如果这两个实体之间存在关联,您可以看到这一点(看起来您的实体是相关的,如果没有关系,你可以添加它):

代码优先: Entity Framework: Delete Object and its related entities

首先是模型,然后是模式: Cascading deletes