Validation Silverlight域服务-删除验证
如何使用Silverlight+域服务+EF执行约束验证 表1是一个主表 表1是表2中的FK 我需要在删除表1时验证表2是否没有与表1相关的记录 I表2有相关记录,然后抛出异常Validation Silverlight域服务-删除验证,validation,silverlight,crud,Validation,Silverlight,Crud,如何使用Silverlight+域服务+EF执行约束验证 表1是一个主表 表1是表2中的FK 我需要在删除表1时验证表2是否没有与表1相关的记录 I表2有相关记录,然后抛出异常 有可能吗?在您的DomainService中,只需在delete方法上添加一个验证属性即可 [CustomValidation(typeof(MyCustomValidator), "CustomDeleteTable1Validation")] public void DeleteTable1(Table1 table
有可能吗?在您的DomainService中,只需在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");
}
}
享受吧 在您的DomainService中,只需在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,至少在违反服务器规则时引发异常)。什么是备份数据存储?如果使用SQL Server,则应在数据库中设置约束,EF将考虑这些约束(如果未更新EF,则在违反服务器规则时至少引发异常)。