У меня есть простая модель ADO.NET Entity Framework 4.0 (edmx), которая определяет таблицы базы данных с отношениями внешних ключей.ADO.NET Entity Framework и служба WCF
Как я могу отправить эти сущности на клиент 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 и заполнить их из контекста select ... однако, я действительно не хочу дублировать классы по уважительной причине. Я полагаю, что я должен делать что-то неправильно.
Я бы очень признателен за помощь!
Вы смотрите на службы WCF RIA? –
Вы когда-нибудь задумывались об использовании служб передачи данных? У вас много бизнес-логики? Или это просто средство для доступа к базе данных? – Nix
В конечном итоге будет много бизнес-логики. Я не смотрел услуги RIA - разве это не для Silverlight? – krisdyson