Возврат ассоциированных членов с помощью метода вызова Ria DomainService

Я получил этот метод DomainService, который я вызываю из моей SL ViewModel, используя атрибут Invoke:

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

Код в моей ViewModel выглядит так:

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

Классы Recipy и Author POCO/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; }
}

Теперь код работает нормально, за исключением того, что связанный автор не передается клиенту/модели просмотра, свойство Author Recipy имеет значение null. Я думал, что использование атрибутов [Associate] и [Include] поможет?

Спасибо за любую помощь, я изо всех сил пытаюсь понять материал DomainService/RIA, и я близок к тому, чтобы сдаться и вместо этого перейти на «обычный» WCF/REST :)


person Johan Danforth    schedule 05.09.2010    source источник


Ответы (1)


Насколько я понимаю, [Invoke] в настоящее время не поддерживает сложные иерархии, поэтому я решил эту проблему, убедившись, что у меня есть правильные атрибуты для [Include] и [Association] в коллекции, и вернулся к использованию обычного RIA. вместо этого метод запроса.

person Johan Danforth    schedule 24.09.2010