使用EF4.1是否有我可以在我的POCO上覆盖的功能事件,当它被删除时将被调用?我使用包含对文件的引用的DB在文件系统上保存图像。当我从DB中删除时,我也想删除匹配的文件。
答案 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不适合处理这个问题。