s serviços @Entity Framework / RIA incluem não funcionar

Eu tenho um aplicativo SL4 / WCF RIA Services / EF 4. Estou tendo problemas para inserir minha entidade Incluída no contexto de dados do SL4.

Na parte de serviço do servidor do aplicativo, este é o meu método:

 [Query(IsDefault = true)]
    public IQueryable<ToolingGroup> GetToolingGroups()
    {
        var groups = this.ObjectContext.ToolingGroups.Include("MetaData").OrderBy(g => g.Name);
        return groups; //breakpoint set here
    }

Atribuí-o aos grupos var para permitir que ele seja inspecionado antes que o método retorne. Se eu definir um ponto de interrupção antes do método retornar e adicionar uma linha à minha janela Watch, o MetaData estará lá:

groups.First().MetaData

Quando deixo o método retornar e verifico no evento concluído com a interface do usuário do silverlight, MetaData é nul

void loadOperation_Completed(object sender, System.EventArgs e)
    {
        grid.ItemsSource = _toolingContext.ToolingGroups;
        UpdateUI(); //breakpoint set here
    }

Quando faço isso na minha janela de exibição, o MetaData é nulo:

_toolingContext.ToolingGroups.First().MetaData

Verifiquei para garantir que o ToolingGroup retornasse pela chamada para .First () nos dois casos era a mesma entidade e era.

or que o MetaData está perdido (por exemplo, nulo) entre o método de serviço e o meu método de interface do usuári

SOLUÇÃO

// The MetadataTypeAttribute identifies ToolingGroupMetadata as the class
// that carries additional metadata for the ToolingGroup class.
[MetadataTypeAttribute(typeof(ToolingGroup.ToolingGroupMetadata))]
public partial class ToolingGroup
{

    // This class allows you to attach custom attributes to properties
    // of the ToolingGroup class.
    //
    // For example, the following marks the Xyz property as a
    // required property and specifies the format for valid values:
    //    [Required]
    //    [RegularExpression("[A-Z][A-Za-z0-9]*")]
    //    [StringLength(32)]
    //    public string Xyz { get; set; }
    internal sealed class ToolingGroupMetadata
    {

        // Metadata classes are not meant to be instantiated.
        private ToolingGroupMetadata()
        {
        }

        public int Id { get; set; }

        [Include] // Added so MetaData gets serialized
        public MetaData MetaData { get; set; }

        public Nullable<int> MetaDataId { get; set; }

        public string Name { get; set; }

        public ToolingCategory ToolingCategory { get; set; }

        public int ToolingCategoryId { get; set; }

        public EntityCollection<ToolingType> ToolingTypes { get; set; }
    }
}

questionAnswers(1)

yourAnswerToTheQuestion