3

Je suis arrivé cette méthode de DomainService j'appelle de mon ViewModel SL en utilisant l'attribut Invoke:De retour Membres associés via Ria DomainService Invoke Méthode

[Invoke] 
public ServiceModel.Recipy GetRecipyById(int recipyId) 
{ 
    return new Recipy 
       { 
        RecipyId = 1, 
        Name = "test", 
        Description = "desc", 
        Author = new Author 
           { 
            AuthorId = 1, 
            Name = "Johan" 
           } 
       }; 
} 

Le code dans mon ViewModel ressemble à ceci:

public RecipyViewModel() 
{ 
    context.GetRecipyById(1, RecipyLoadedCallback, null); 
} 

private void RecipyLoadedCallback(InvokeOperation<Recipy> obj) 
{ 
    _name = obj.Value.Name; 
    _description = obj.Value.Description; 
    _authorName = obj.Value.Author.Name; 
} 

les recipy et Auteur des classes POCO/de ServiceModel:

public class Recipy 
{ 
    [Key] 
    public int RecipyId { get; set; } 
    public string Name { get; set; } 
    public string Description { get; set; } 

    [Association("Author", "RecipyId", "AuthorId")] 
    [Include] 
    public Author Author { get; set; } 
} 

public class Author 
{ 
    [Key] 
    public int AuthorId { get; set; } 
    public string Name { get; set; } 
} 

maintenant, le code fonctionne très bien, excep t que l'auteur associé n'est pas transféré au client/viewmodel, la propriété Author de Recipy est null. Je pensais que l'utilisation des attributs [Associer] et [Inclure] ferait l'affaire?

Merci pour toute aide, j'essaie difficile de assimilez le DomainService/RIA choses et je suis proche de donner et aller « normal » WCF/REST à la place :)

Répondre

2

Si je comprends bien, [ Invoke] ne supporte pas les hiérarchies complexes pour le moment, je l'ai donc résolu en m'assurant que j'avais les attributs corrects pour [Include] et [Association] sur la collection, et je suis revenu à une méthode de requête RIA normale.

Questions connexes