У меня есть простая модель 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 или Console).
Полагаю, я мог бы создать отдельные сущности DataContract POCO и заполнить их из выбора в контексте ... однако я действительно не хочу дублировать классы без веской причины.Я полагаю, что я, должно быть, что-то делаю не так.
Буду очень признателен за помощь!