2010-08-11 5 views
0

Je travaille avec Silverlight 4 sur l'obtention d'une entité unique à partir d'un ensemble d'entités. Ça ne semble pas dur ?! Eh bien, je ne peux tout simplement pas le faire fonctionner:Silverlight 4 Services RIA - sélectionnez la première entité à partir d'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 

je ne vois pas la forêt à cause des arbres, ou dois-je vraiment faire des choses laides comme:

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

Quelqu'un at-il une idée de ce qui ne va pas là - comme je l'ai dit, j'essaie seulement d'avoir une seule entité? Cordialement, rwh

Répondre

0

Vous n'avez chargé aucune donnée dans votre DomainContext. Il est vide jusqu'à ce que vous chargiez les données dont vous avez besoin. (Sauf si vous l'avez fait dans votre XAML ??)

+0

Salut, merci pour l'indice. En fait, la déclaration myDomainContext dc = new OrgUnitTestDomainContext(); est ailleurs, je viens de le copier pour clarifier la signification de cc. Toutes les autres lignes sont dans OnOrgUnitsLoaded, la méthode appelée dès que le chargement est terminé. Les messages d'erreur montrés dans le commentaire sont déjà affichés au moment du design, donc je suppose qu'il y a une autre façon de le faire? – rwh