2010-08-11 1 views
0

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

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

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

ответ

0

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

+0

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