Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 4.0 WCF RIA服务v1 sp1,组合,验证子实体_Silverlight 4.0_Wcf Ria Services_Composition - Fatal编程技术网

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,验证属性的代码运行。
这里怎么了?有人能解释一下吗?

你应该看看


它比合成更强大,根据我的经验,它工作得很好——包括您描述的那种验证场景。事实上,您可以使用图形进行更复杂的跨实体验证。

您应该看看

它比合成更强大,根据我的经验,它工作得很好——包括您描述的那种验证场景。事实上,您可以使用图形进行更复杂的跨实体验证