У меня есть существующее веб-приложение, которое использует объекты EF и POCO. Я хочу улучшить работу клиента, подвергая некоторые из моих объектов через WCF (JSON). У меня это нормально работает, но я не уверен, как обрабатывать производные объекты (не уверен, что это правильный термин) или IEnumerable анонимные объекты, если хотите.Создание пользовательских объектов для wcf
Скажем, у меня есть 3 таблицы структурированы следующим образом:
Шаблоны
ID
Template
Группы
ID
Group
экземпляров
ID
TemplateID
GroupID
Это, очевидно, отношение типа «один ко многим». Я правильно настроил настройки навигации и сильно набрал свойства объектов. Однако, как я могу отправить сериализованный анонимный объект (ы) по проводке. Подобно объекту, который отправляет все экземпляры, которые равны groupid = 1, и включают имена шаблона и объекта.
Могу ли я что-то отсутствует, или мне нужно создать еще один объект класса для WCF, который будет выглядеть следующим образом:
WCF Объект
InstanceID
TemplateID
TemplateName
GroupID
GroupName
Я предполагаю, что я мог бы изменить свои таблицы для учета это, но это тоже кажется неправильным. Я знаю, что объекты IEnumerable
не могут быть сериализованы, и я знаю, что выбрасывать объекты, возможно, тоже не так. Я хочу сделать это правильно, но я не уверен, как это сделать.
Ваши предложения приветствуются. С уважением
Мне показалось, что я знаком с OData, но я взял ваш совет и потратил еще некоторое время на рассмотрение спецификации и нашел, что это то, что я искал. Я предполагаю, что мне показалось, что лучше всего использовать таблицы данных только в том виде, в каком они существуют в db как объекты. Я не был уверен, как разобраться с коллекциями различных свойств объекта. odata.org дает несколько отличных примеров. Спасибо, Стив. – trevorc