我有一个简单的 ADO.NET Entity Framework 4.0 模型 (edmx),它定义了具有外键关系的数据库表。
如何将这些实体发送到 Windows Phone 7 客户端?我已经创建了一个 WCF 服务(使用 WShttpbinding),方法...
public List<LocationCity> ListCities()
{
var dc = ObjectFactory.GetInstance<TestEntities>();
var locs = dc.LocationCities.Take(10).ToList();
return locs;
}
我还创建了一个简单的控制台应用程序来使用此服务,但它不起作用......在跟踪中我看到了异常
对象图中可以序列化或反序列化的最大项目数为“65536”
在 System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameterPart
然后我将 MaxItemsInObjectGraph 更改为一个大数字,只是为了看看会发生什么,然后我得到一个堆栈溢出异常。所以在我看来,dataContractSerializer 正在对象图上导航循环属性并进入递归循环。
我要做的就是将 10 个 LocationCity 实体发送到客户端(无论是 Windows Phone 还是控制台)。
我想我可以创建单独的 DataContract POCO 实体,并从上下文中的选择中填充它们……但是,我真的不想无缘无故地复制类。我想我一定是做错了什么。
我真的很感激一些帮助!