2009-09-18 1 views
1

Использование Silverlight 3 и RIA Services У меня есть следующий класс, определенный в моем веб-проекта:RIA Services Пользовательский класс

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

На клиенте, однако, класс показывает только со свойством Name. Государства нигде не появляются. Я предполагаю, что мне не хватает каких-то метаданных, но я не знаю, что это такое.

Редактировать: Я должен уточнить, что это класс, сгенерированный LinqToSql.

ответ

2

См.: RIA Services Overview - 4.8.1 Возврат связанных объектов.

В службе, где вы возвращаете список RegionCurrentStates, добавьте DataLoadOptions и в описании метаданных добавьте атрибут Include в соответствие с требованиями штата.

Добавить функцию DataLoadOption в функцию запроса, определенную в классе домена.

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

    return this.Context.RegionCurrentStates; 
} 

В метаданных:

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

удачи.

+0

Я настоятельно рекомендую ознакомиться с документацией «Обзор службы RIA». Это A ДОЛЖНО ПРОЧИТАТЬ, когда вы работаете в RIA. – rlodina

+0

Да, согласен. Я тоже нашел ответ. – Nate

+0

Этот документ все еще существует? Линк меня нигде не брал. –

 Смежные вопросы

  • Нет связанных вопросов^_^