我需要有經驗的人的意見,ASP.NET MVC 3 C#MySQL,使用ON DELETE CASCADE功能或在CONTROLER中刪除行?
MySQL的情況下,2個表,一對多的關係:
我有一個表與A_ID(PK)和A_name,並與B_ID一個表B(PK )和B_foto和A_id(FK到表A(A_id))
如果我把FK ON DELETE CASCADE選項,然後刪除表A中的一個行,表B中引用到A_id的所有行都將被刪除,對吧?好吧,
但是,如果B_foto是一個字符串與一些文件圖像的路徑,我也想刪除文件,對我來說最好不要使用ON DELETE CASCADE選項並在控制器(C#)中檢查manualy(如果表B有一些對A的引用並刪除行手動因爲我也想刪除de文件)。
如果我使用ON DELETE CASCADE選項,我將放棄對我想要刪除的文件的引用。對吧?
也許如果我保留ON DELETE CASCADE選項,並首先檢查表B的表A的引用只刪除文件,然後我刪除表A中的行,它(mySQL)刪除表B中的ROWS ..
希望你能闡明我對這個問題..
Thankyou爲你的答案,也許你可以投我的問題,它會幫助其他人有同樣的懷疑.. 我認爲,我會迭代de子表刪除德文件,然後我刪除父錶行和(與刪除級聯)它刪除de childs行,我已經刪除了相應的文件.. –