3
下面的代碼應該做什麼?在這段代碼中添加包含表的目的是什麼?它是否應該級聯刪除與PersonId相關的JobType,還是隻刪除具有指定PersonId的Person?澄清entityframework功能
db.tblPerson.Remove(db.tblPerson.Include("tblJobType").FirstOrDefault(c => c.PersonId== PersonId));
下面的代碼應該做什麼?在這段代碼中添加包含表的目的是什麼?它是否應該級聯刪除與PersonId相關的JobType,還是隻刪除具有指定PersonId的Person?澄清entityframework功能
db.tblPerson.Remove(db.tblPerson.Include("tblJobType").FirstOrDefault(c => c.PersonId== PersonId));
在這種情況下,.Include是多餘的或真的很糟糕的設計。
多餘:
糟糕的設計中設定:
結論
張貼被簡單地去除具有指定PERSONID的人的代碼。 .Include可能只是一個複製粘貼錯誤,在這裏沒有任何效果。如上所述,這不會導致CascadeDelete,這是由不同的設置決定的。但是,您應該意識到.Include的副作用。
您是否嘗試過運行代碼並分析結果? –
我剛剛做了,但這讓我感到困惑,因爲我仍然在表格中看到相關的JobType,這可能是因爲另一個代碼問題,我只想確認我的理論理解。謝謝 – user3340627