は、ちょうど、検証がdeleteメソッドに属性
[CustomValidation(typeof(MyCustomValidator), "CustomDeleteTable1Validation")]
public void DeleteTable1(Table1 table1)
{
//normal behavior
if ((table1.EntityState != EntityState.Detached))
{
this.ObjectContext.ObjectStateManager.ChangeObjectState(table1, EntityState.Deleted);
}
else
{
this.ObjectContext.Table1s.Attach(table1);
this.ObjectContext.Table1s.DeleteObject(table1);
}
}
を追加し
public static class MyCustomValidator
{
public static ValidationResult CustomDeleteTable1Validation(Table1 table1, ValidationContext context)
{
// check your values ...
var isOk=true;
// and ...
if(isOk)
return ValidationResult.Success;
else
return new ValidationResult(validationContext.DisplayName + " error");
}
}
が楽しむ検証方法では、あなたがやりたいです!
バッキングデータストアとは何ですか? SQL Serverの場合、データベースに制約を設定する必要があり、EFはそれらを考慮に入れます(または、EFを更新していない場合は、少なくともサーバールールを破るときに例外をスローします)。 –