Microsoft Sync Framework, на мой взгляд, не подходит, потому что у вас разные схемы.Я также могу представить, что у вас есть некоторые бизнес-правила о том, какие данные разрешено изменять и как их следует синхронизировать.
Выбор между DataSets и Entity Framework зависит от ваших потребностей.Object-Relation-Mapper показывает, когда вы действительно используете объектную модель.
Если ваш домен достаточно сложен и у вас есть знания, использование полноценной доменной модели - это, безусловно, хорошее решение, которое действительно может масштабироваться и обрабатывать сложные проекты.Если ваш проект несколько проще и вы не хотите создавать модель предметной области, которую вы можете выбрать для наборов данных.
Лично я считаю, что изучение входов и выходов из моделирования доменов и Entity Framework как ORM - этохороший выбор для проектов.Когда у вас будет достаточно опыта использования этих технологий, вы даже предпочтете их в небольших проектах.
О проблемах, которые возникают у вас с прототипом EF.
Поскольку схема данных клиента иСервер отличается, я бы использовал пользовательские объекты передачи данных для перемещения данных между ними.Таким образом, вы отделяете объектные модели, и они могут меняться независимо друг от друга.
Клиент знает все, что нужно знать об изменениях данных.Поскольку он имеет локальное представление данных сервера, он знает, были ли данные добавлены, изменены или удалены.Почему бы вам не добавить эти знания в ваш серверный вызов?Если вы используете поле в DTO, в котором указано, добавлен ли объект, изменен или удален, серверу не нужно будет это обнаруживать.