Silverlight 4 RIA Services — выберите первый объект из EntitySet

Я работаю с Silverlight 4 над получением одной сущности из набора сущностей. Звучит не тяжело?! Ну, я просто не могу заставить его работать:

myDomainContext dc = new OrgUnitTestDomainContext();
OrgUnit ou;
ou=dc.OrgUnits[0]; //Error 1    The property or indexer 'System.ServiceModel.DomainServices.Client.EntitySet.List' cannot be used in this context because the get accessor is inaccessible
ou=dc.OrgUnits.First; //Error   2   ... does not contain a definition for 'First' and no extension method 'First' accepting a first argument
ou=dc.OrgUnits.Current; //Error 3   ... does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument
ou=dc.OrgUnits.List.First; //Error  4   The property or indexer 'System.ServiceModel.DomainServices.Client.EntitySet.List' cannot be used in this context because the get accessor is inaccessible
ou=dc.OrgUnits.List.Current; //as Error 3

Разве я не вижу леса из-за деревьев, или мне действительно приходится делать такие уродливые вещи, как:

//That works
System.Collections.Generic.IEnumerator<OrgUnit> enu = dc.OrgUnits.GetEnumerator();
enu.MoveNext();
ou = enu.Current;

//That works, but its ugly, too
foreach (OrgUnit ou in dc.OrgUnits)
{
    SelectedOrgUnit = ou;
    break;
}

Кто-нибудь знает, что там не так - как я уже сказал, я пытаюсь получить только одну сущность? С уважением, рвх


person rwh    schedule 11.08.2010    source источник


Ответы (1)


Вы не загрузили никаких данных в свой DomainContext. Он пуст, пока вы не загрузите необходимые данные. (Если вы не сделали этого в своем XAML??)

person Neil Knight    schedule 11.08.2010
comment
Привет, спасибо за подсказку. На самом деле объявление myDomainContext dc = new OrgUnitTestDomainContext(); находится в другом месте, я просто скопировал его, чтобы прояснить значение dc. Все остальные строки находятся в методе OnOrgUnitsLoaded, который вызывается сразу после завершения загрузки. Сообщения об ошибках, показанные в комментарии, уже отображаются во время разработки, так что я думаю, есть другой способ сделать это? - person rwh; 12.08.2010