2010-07-13 8 views
0

J'ai créé une application Silverlight en utilisant le modèle d'application métier Silverlight.Impossible d'accéder à EntityCollection sur le client Silverlight

J'ai ajouté un modèle de données d'entité ADO.NET et l'ai créé de zéro dans le concepteur. J'ai ensuite généré une base de données à partir du modèle. Le modèle a une entité "projet" et une entité "client" avec une relation plusieurs-à-plusieurs. Ensuite, j'ai ajouté un domain services à mon projet .web, et j'ai sélectionné les entités de mon modèle. Dans les méthodes générées pour le service, côté serveur, j'ai accès à la propriété "Client.Projects", ainsi qu'à la propriété "Project.Clients", mais je n'y ai pas accès du côté client, dans mon silverlight application.

Si je passe à une relation un-à-plusieurs entre le client et le projet, j'ai accès à la propriété sur le client Silverlight.

Que dois-je faire pour avoir accès aux propriétés du client Silverlight?

Toute aide serait très appréciée

-Morten

Répondre

0

Dans un grand nombre à plusieurs, il y a une chance que vous aurez les objets référencés « circulaires ». En d'autres termes, une entité a une propriété d'une autre entité, qui à son tour a une référence de propriété à l'entité d'origine.

La référence circulaire ne peut pas être sérialisée sur un service Web ou un service WCF. Vous devrez donc probablement rompre la relation many-to-many dans votre modèle pour que la sérialisation soit possible.

+0

Salut Steve, merci de m'avoir aidé pour mon problème! De la classe générée par le concepteur dans le projet .web, je peux voir que la classe "Client" et la classe "Project" sont marquées avec le [DataContractAttribute (IsReference = true)] Cela ne résoudrait-il pas le problème? problème avec les objets référencés circulaires? Les objets référencés circulaires étaient un problème que j'avais rencontré il y a un certain temps, lors de la création d'un service WCF, et cela a résolu mon problème. – Morten

Questions connexes