RIA Services не возвращает Включенный Тип Собственность Собрания

У меня есть приложение WCF RIA Services и модель с типом UserRole, которая содержит коллекцию объектов UserPermission. Я использую .Include («UserPermission») в доменной службе, и когда я отлаживаю его, я проверил, что он определенно содержит типы UserPermission перед возвратом.

Когда я отлаживаю клиента Silverlight 3, он возвращает UserRoles, но свойства UserPermission все пусты. Это те же самые UserRoles, которые показывают наличие UserPermissions для службы.

Так как на сервисе и клиенте все выглядит правильно, я фокусируюсь на классе метаданных, но все равно не могу найти ничего неправильного.

[MetadataTypeAttribute(typeof(UserRole.UserRoleMetadata))]
public partial class UserRole
{
    internal sealed class UserRoleMetadata
    {
        public int RoleID;
        public string Name;

        [Include]
        [Association("UserPermissions", "RoleID", "PermissionID")]
        public EntityCollection<UserPermission> UserPermissions;
    }
}

Вот метод обслуживания домена:

public IEnumerable<UserRole> GetUserRoles()
{
    IEnumerable<UserRole> roles = this.ObjectContext.UserRole.Include("UserPermissions");
    return roles; // In debug, roles.First().UserPermissions.Count = 2 here
                  // For now, there is only one single role in the ObjectContext and it has
                  // two UserPermissions
}

Вот клиентский метод Silverlight:

context.Load(context.GetUserRolesQuery(), loadOp =>
{
    IEnumerable<UserRole> roles = loadOp.Entities;
    // This should show 2, but shows 0:
    MessageBox.Show("Permissions loaded: " + roles.First().UserPermissions.Count.ToString());
}

Кто-нибудь знает что-нибудь, что может привести к потере этих включенных объектов? Я делаю то же самое в нескольких других местах, и они работают.

Ответы на вопрос(1)

Ваш ответ на вопрос