Если настольное приложение также делает вещи в базе данных, я собираюсь предположить, что это другое, чем на сервере. Вы все равно хотите преобразовать сложные объекты в более простые. Например, если у вас есть сущность, которая содержит список других сущностей, которые, как вы знаете, уже существуют на сервере, переведите это в объект сообщения (по соглашению просто добавьте сообщение в имя объекта, то есть EntityName
->EntityNameMessage
) перед отправкой его по проводя выбор идентификаторов из исходного объекта при переводе, а не всего содержимого списка. Это будет одним из способов повысить производительность.
В качестве альтернативы вы используете одну и ту же базу данных на клиенте и на сервере, что, вероятно, является плохой практикой, поскольку вам придется перерабатывать EF на сервере каждый раз, когда клиент обновляет объект в своей базе данных, Знаю об изменениях.
Приложение также работает с базой данных? Кроме того, я бы рекомендовал создавать объекты сообщений, чтобы вы могли сократить объем данных, необходимых для отправки по проводам в/из ваших служб. –
Desktop app - это чтение данных из MS SQL (с использованием EF). Затем, после некоторой модификации, enitity отсылается серверу. Сервер будет выполнять дополнительную операцию с сущностью, а затем объект будет сохранен. – Chatumbabub
Где вы планируете видеть увеличение производительности? Если вы создадите объект на сервере напрямую, это будет намного быстрее, чем создание его на рабочем столе и отправка его по WCF. – Gthompson83