OnDelete也删除文件

时间:2011-08-13 12:10:08

标签: entity-framework entity-framework-4.1

使用EF4.1是否有我可以在我的POCO上覆盖的功能事件,当它被删除时将被调用?我使用包含对文件的引用的DB在文件系统上保存图像。当我从DB中删除时,我也想删除匹配的文件。

2 个答案:

答案 0 :(得分:1)

您可以覆盖SaveChanges的{​​{1}}方法。

DbContext

您可以在单个事务中包装文件删除和数据库更新,如下所示

public override int SaveChanges()
{
    var deletedEntities = ChangeTracker.Entries().Where(entry => entry.State == EntityState.Deleted);

    foreach (var deletedEntity in deletedEntities)
    {
        if (deletedEntity .Entity is MyEntity)
        {
             //delete the file
        }
    }

    return base.SaveChanges();
}

答案 1 :(得分:0)

尝试在数据库级触发器中执行此操作。 EF不适合处理这个问题。