我的sql數據庫不允許添加2個記錄相同的數字。如果我嘗試使用先前使用的號碼創建記錄或編輯記錄以使用先前使用的號碼,則不允許使用該號碼,並通過轉包號字段返回帶有星號的編輯/創建頁面。我想爲此添加規則違規,以便可以顯示適當的消息。我試着加入:以下NerdDinner教程,不允許重複
if (db.subcontracts.Count(s => s.subcontract_no == subcontract_no) > 0)
yield return new RuleViolation("Subcontract number already exists", "subcontract_no");
寫這個時,我只想到Create方法。這裏的問題是每次編輯記錄時都會發現違規,即使subcontract_no沒有更改。所以,我想我需要它來創建記錄時發現違規行爲,如果subcontract_no發生更改,則需要編輯。但是,它不能「發現自己」並且違反規則。我怎樣才能做到這一點?
謝謝。這與我提出的解決方案几乎完全相同。 – RememberME 2010-03-09 20:30:41