2009-09-18 7 views
1

En utilisant Silverlight 3 et les services RIA je la classe suivante définie dans mon projet Web:Services RIA personnalisés Classe

public class RegionCurrentStates 
{ 
    public RegionCurrentStates() 
    { 
     Name = String.Empty; 
     States= new List<State>(); 
    } 
    [Key] 
    public string Name { get; set; } 
    public List<State> States{ get; set; } 
} 

Sur le client, cependant, la classe ne montre que la propriété Name. Les États n'apparaissent nulle part. Je suppose qu'il me manque des métadonnées mais je ne sais pas de quoi il s'agit.

Éditer: Je devrais préciser que State est une classe générée LinqToSql.

Répondre

2

Veuillez vous reporter à: RIA Services Overview - 4.8.1 Retour d'entités associées.

Dans la fonction de service où vous renvoyez la liste RegionCurrentStates, ajoutez DataLoadOptions et dans la description des métadonnées, ajoutez Include attribute à States properties.

Ajoutez DataLoadOption dans votre fonction de requête définie dans la classe de domaine.

public IQueryable<RegionCurrentStates> GetRegionCurrentStates() 
{ 
    DataLoadOptions loadOpts = new DataLoadOptions(); 
    loadOpts.LoadWith<RegionCurrentStates>(r => r.States); 
    this.Context.LoadOptions = loadOpts; 

    return this.Context.RegionCurrentStates; 
} 

dans les métadonnées:

//This class in generated by RIA wizard when you create 
//your DomainService (based on LinqToSqlDomainService) and you check 
//[x]Generate metadata class in wizard window 
//file: MyService.metadata.cs 

[MetadataTypeAttribute(typeof(RegionCurrentStates.RegionCurrentStatesMetadata))] 
public partial class RegionCurrentStates 
{ 
    internal sealed class RegionCurrentStatesMetadata 
    {  
     [Include] //Add (only) this line 
     public List<State> States{ get; set; } 
    } 
}   

Bonne chance.

+0

Je vous suggère fortement de jeter un coup d'œil à la documentation 'RIA Service Overview'. C'est un must à lire lorsque vous travaillez sur RIA. – rlodina

+0

Oui, je suis d'accord. J'ai fini par trouver la réponse là aussi. – Nate

+0

Ce document existe-t-il encore? Link ne m'a emmené nulle part. –

Questions connexes