2010-07-13 65 views
0

我已经使用silverlight业务应用程序模板创建了Silverlight应用程序。无法访问Silverlight客户端上的EntityCollection

我添加了一个ADO.NET实体数据模型,并在设计器中从头开始创建它。然后我从模型中生成了一个数据库。该模型具有“项目”实体和具有多对多关系的“客户”实体。

然后,我添加了一个domainservice到我的.web项目,并从我的模型中选择了实体。在为服务生成的方法中,服务器端,我可以访问“Client.Projects”属性,也可以访问“Project.Clients”属性,但我无法在客户端访问这个,在我的silverlight应用。

如果我更改为客户端和项目之间的一对多关系,则可以访问silverlight客户端上的属性。

我应该怎么做才能访问silverlight客户端上的属性?

任何帮助将非常感激

-Morten

回答

0

在许多一对多的关系,还有就是你将有“通知”中引用的对象的机会。换句话说,一个实体拥有另一个实体的财产,而该实体又拥有一个返回给原始实体的财产参照。

循环引用无法通过Web服务或WCF服务序列化,因此您可能必须打破模型中的多对多关系才能序列化。

+0

嗨史蒂夫,谢谢你帮我解决我的问题! 从.web项目中的设计器生成的类,我可以看到“客户”类和“项目”类都标有[DataContractAttribute(IsReference = true)] 这不会解决循环引用对象的问题?循环引用的对象是我前一段时间创建WCF服务时遇到的问题,这解决了我的问题。 – Morten 2010-07-13 13:34:29