Silverlight 4.0 WCF RIA服务v1 sp1,组合,验证子实体
我正在使用合成属性。最近我进入了以下博客: 因此,我使用上述博客文章中描述的方法纠正我的子实体的实体状态,如下所示:Silverlight 4.0 WCF RIA服务v1 sp1,组合,验证子实体,silverlight-4.0,wcf-ria-services,composition,Silverlight 4.0,Wcf Ria Services,Composition,我正在使用合成属性。最近我进入了以下博客: 因此,我使用上述博客文章中描述的方法纠正我的子实体的实体状态,如下所示: foreach (Child c in this.ChangeSet .GetAssociatedChanges(currentParent, p => p.Children)) { ChangeOperation change = this.ChangeSet.GetChangeOperation(c);
foreach (Child c in this.ChangeSet
.GetAssociatedChanges(currentParent, p => p.Children))
{
ChangeOperation change = this.ChangeSet.GetChangeOperation(c);
switch (change)
{
case ChangeOperation.Delete:
...
case ChangeOperation.Insert:
// This is already done for us.
break;
case ChangeOperation.None:
...
case ChangeOperation.Update:
this.ObjectContext.Children
.AttachAsModified(c, this.ChangeSet.GetOriginal(c));
break;
default:
break;
}
}
我还删除了默认情况下生成的UpdateChild(Child-currentChild)方法。
现在,代码正常工作,子实体按预期保存到数据库中。然而
我注意到一个问题。我的子实体的某些属性具有自定义验证属性
(从ValidationAttribute类继承)。他们根本没有接到电话。这个习俗
在silverlight客户端不会生成验证属性,因为它使用
某些仅在.NET中可用的类。但不是在silverlight。那么,在
客户端验证通过,服务器端也不验证。然而,如果
我将UpdateChild方法添加回DomainService,验证属性的代码运行。
这里怎么了?有人能解释一下吗?你应该看看
它比合成更强大,根据我的经验,它工作得很好——包括您描述的那种验证场景。事实上,您可以使用图形进行更复杂的跨实体验证。您应该看看 它比合成更强大,根据我的经验,它工作得很好——包括您描述的那种验证场景。事实上,您可以使用图形进行更复杂的跨实体验证