1
我正在編寫需要清理完成時創建的實體的測試代碼。爲了說明測試過早結束的可能性,我也在初始化測試時運行清理代碼。刪除可能或不可能存在的實體框架實體
我使用這個建議
https://stackoverflow.com/a/5522422/141172
var category = new Category() { CategoryId = 1 };
context.Categories.Attach(category);
context.Categories.Remove(category);
context.SaveChanges();
刪除的實體。但是,如果實體已經被刪除(如之前的測試運行成功清理),
ctx.SaveChanges();
拋出一個異常:
商店更新,插入或刪除語句影響了意外 行數(0)
這很有道理,但只是捕捉異常是有點尷尬。是否有一種更簡潔的方式來實現這一點,而不會引入額外的數據庫來檢查實體?
當我測試這樣的,我通常只是包裝一切都在一個TransactionScope和測試結束後,我不承諾交易。這是你能做的嗎? – 2012-03-21 23:24:14