2009-09-09 8 views
3

J'ai classe comme ceci:Envoi objet contenu sur Services RIA

public class object { 
    [Key] 
    int number; 

    String mystring; 

    OtherObject anotherobject; 
} 

Quand j'ai envoyé ce RIA sur ma demande de silverlight peut voir object.number et object.mystring, mais pas object.anotherobject !!! Que dois-je faire? Aidez-moi, s'il vous plaît.

Répondre

0

Vous devez faire [Inclure] et [Association] au-dessus de l'objet et les paramètres d'association doivent être les autres objets [clés]

vous pouvez également envoyer du serveur à Client mais pas CLIENT au serveur c'est juste comment fonctionne RIA cause genre de sucer

-1

Je crois que le problème est que vous devez rendre le OtherObject sérialisable. Les deux autres variables sont des primitives et sont donc déjà sérialisables.

Par exemple:

[DataContract] 
public abstract class BarrieHibbertWrapper 
{ 
    [DataMember] 
    public string Name { get; set; } 
} 

Vous devrez ajouter System.RunTime.Serialization comme référence.

Il se peut que vous deviez faire la même chose avec la classe que vous avez incluse dans votre code.

1

Vous devez utiliser le [Inclure] attribut sur les classes référencées pour indiquer que vous voulez que ces cours sérialisés ainsi:

public class Monkey 
{ 
    [Key] 
    int number; 
    String mystring; 

    [Include] 
    OtherObject anotherobject; 
} 

Cela peut aussi se faire dans le code:

public IQueryable<Monkey> GetMonkeys() 
{    
    var Monkey = this.Context.Monkey.Include("Monkey.OtherObject"); 
    return Monkey; 
} 

Certains références:

+0

Non cela ne fonctionne pas je l'ai compris mais peut-être réellement poster sur des choses que vous connaissez ?? – Michael

+0

Oh, vous avez raison. Les références que j'ai postées par les personnes qui ont créé RIA Services doivent être fausses. Je suis content que vous ayez trouvé la vraie façon de le faire. –

+0

nah ce n'est pas faux, vous ne compreniez pas ce qu'ils ont fait – Michael

Questions connexes