2011-06-30 9 views
2

私は構成属性を使用しています。最近、私は次のブログに来た:またWCF RIA Services v1 sp1、構成、子エンティティの検証

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; 
    } 
} 

I:だから

http://brettsam.com/2011/03/25/ria-services-composition-with-entity-framework/

、私は次のように私の子エンティティのエンティティの状態を修正するために、上記のブログ記事で説明した手法を使用しました既定で生成されたUpdateChild(Child currentChild)メソッドを削除しました。 コードは正常に動作し、子エンティティはデータベースに保存されます。しかし、 私は1つの問題に気付きました。私の子エンティティのいくつかのプロパティには、カスタム検証属性 (ValidationAttributeクラスから継承)がありました。彼らはまったく呼ばれませんでした。このカスタム シルバークライアント側で .NETでのみ使用可能なクラスが使用されているため、検証属性は生成されません。銀色ではない。したがって、 では、クライアントの検証にパスし、サーバー側でも検証されません。ただし、 UpdateChildメソッドをDomainServiceに追加すると、検証属性のコードが実行されます。 ここに何が問題なのですか?誰かがこれを説明できますか?

答えて

0

あなたはそれが組成物よりも強力だと私の経験から、それがうまく機能EntityGraph

を見てみる必要があります - あなたが説明した検証シナリオのようなものを含みます。実際、グラフを使用してより複雑なクロスエンティティ検証を行うことができます。

関連する問題