2009-10-02 8 views
0

Je suis en train d'utiliser Silverlight 3 et ADO.NET Data Services avec un modèle créé par cusotm (projet séparé) et DAL (projet séparé)). Dans mon projet Silverlight, je crée une référence de service qui fait référence à mon fichier .svc qui pointe vers mon modèle.Silverlight 3 Architecture et implémentation de DataAnnotations - Adivce

Voici ma question: Je voudrais utiliser les riches fonctionnalités de DataAnnotations (System.ComponentModel.DataAnnotations) mais où exactement dois-je mettre ces attributs? Si je décore par Model avec ces annotations, je ne les vois pas dans mon code de proxy généré par [Service Reference]. Je vois juste mes classes avec ses membres, mais pas de DataAnnotations (Reference.cs).

Je sais que si je modifie manuellement le fichier (Reference.cs) et ajoute des DataAnnotations, ces modifications sont transmises à mon client Silverlight. Je ne crois pas que je devrais mettre à jour le code généré, c'est-à-dire le code de proxy w/in (Reference.cs). Donc, ma question est, où dans ma structure Visual Studio de projets séparés (Web, SL, Model, DAL), est-ce que je lance/étend cette source de données personnalisée (Model) pour utiliser DataAnnotations?

Je voudrais quelque chose comme ceci:

[Required] 
public string FirstName 
{ 
    get 
    { 
     return this._FirstName; 
    } 
    set 
    { 
     this.OnFirstNameChanging(value); 
     this._FirstName = value; 
     this.OnFirstNameChanged(); 
    } 
} 

Répondre

0

J'ai un code de remplacement gen pour produire des classes proxy service de données ADO.NET et en ajoutant la validation automatique dans mon projet Niagara:

http://niagara.codeplex.com

+0

Merci Shawn pour votre réponse. Mis à part utiliser votre projet (mot de passe nécessaire une fois que j'ai téléchargé le code et essayer de construire), pouvez-vous s'il vous plaît m'aider avec ma question? Comment puis-je étendre mes classes partielles qui sont générées par le service proxy pour décorer mes membres? – user118190

0

Je pense que vérifier l'article this peut vous donner un aperçu de la raison pour laquelle Shawn a posté son commentaire. La réponse courte à votre question est. Suivez le modèle MVVM (ModelView-View-Model), le style de développement Silverlight, puis placez DataAnnotations sur les propriétés de votre modèle, c'est un sujet énorme et vous devez le lire et le comprendre en premier. Je vous suggère de vérifier les services RIA, (je pense que c'est maintenant connu sous le nom de services WCF), qui vous aidera beaucoup si vous voulez propager la logique de validation à partir du service WCF, au client.