使用EF4.1是否有一個函數的事件,我可以覆蓋我的POCO,它將被調用時它被刪除?我使用包含文件引用的數據庫將文件保存在文件系統上。當我從數據庫中刪除時,我也想刪除匹配的文件。OnDelete也刪除文件
3
A
回答
1
您可以覆蓋您的DbContext
的SaveChanges
方法。
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();
}
你可以用文件中的單個事務刪除和數據庫更新如下
using (var scope = new TransactionScope())
{
//your deletion logic
myContext.SaveChanges();
scope.Complete();
}
0
相關問題
- 1. onDelete級聯不刪除子
- 2. 學說2 onDelete CASCADE設置爲刪除
- 3. Sequelize.js onDelete: '級聯' 不刪除記錄sequelize
- 4. 刪除主鍵也刪除外鍵
- 5. lex - 刪除「/ *」也刪除內部星星
- 6. 模型OnDelete事件?
- 7. 文件#刪除不刪除文件
- 8. 合併Git分支和刪除也會刪除master中的文件嗎?
- 9. Django:即使刪除被阻止也能成功刪除郵件
- 10. Sharepoint Online:附件是否也刪除ListItem時刪除?
- 11. 刪除元素是否也會刪除其事件偵聽器?
- 12. 刪除文件
- 13. 刪除文件
- 14. 刪除文件
- 15. 刪除文件
- 16. 文件刪除
- 17. 刪除文件
- 18. 刪除文件
- 19. 刪除文件
- 20. 刪除文件
- 21. removechild也刪除容器? as3
- 22. TableView setEditing也使行刪除
- 23. 刪除NA(也ggplot圖)
- 24. FEATURE_NO_TITLE也刪除菜單
- 25. 刪除文件的前綴也是目錄部分
- 26. R:如何使用append = TRUE,但也刪除現有的文件
- 27. Drupal刷新頁面需求緩存也刪除javascript文件
- 28. 正則表達式駝峯文件名,也刪除擴展
- 29. 即使在刪除文件夾後,Netbeans 7.0.1 dosent也會啓動
- 30. RollingFileAppender也會刪除比某個日期早的文件
我不知道你使用的數據庫系統,但與SQL Server 2008開始,您可以想要使用varbinary(max)FILESTREAM列,它將文件透明地存儲在文件系統內而不是數據庫內。您不必通過使用它手動管理文件刪除。 –
@Julien是的,我使用SQL 2008 rc2,我也是我的首選解決方案。然而,我的託管服務提供商改變了SQL空間的財富,但常規磁盤空間非常便宜,所以我試圖將數據庫大小降至最低。 – Daveo