Похоже, я в одной лодке с тобой. Если у вас ORM (например, EF) и какая-то инфраструктура бизнес-объектов (RIA Services, DevForce), то вы в значительной степени «привязаны» к наличию 1 сборки на каждом конце (клиент / сервер)
Если вы хотите пойти дальше и сломать это, я думаю, это вызовет больше проблем, чем оно того стоит. У вас будут проблемы с присоединением сущностей из разных модулей, у вас будут повторяющиеся сущности в разных модулях данных и т. Д. Если у вас уже разбит слой ORM - тогда обязательно сохраните его на клиенте.
Я хотел бы создать только один проект данных (это даже не модуль в Prism) и ссылаться на него из всех модулей. В моем случае я ссылаюсь на него из основного проекта и устанавливаю «CopyLocal = true», чтобы MEF знал об этих объектах, а я ссылаюсь на него из других модулей и устанавливаю «CopyLocal = false».