我的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