Это отличный дизайн. Он будет действительно прост в использовании и очень приятен в обслуживании. Поздравь своего менеджера, скажи ему, чтобы он сделал свою работу, и пусть ты делаешь свою. Руководитель проекта не архитектор, и чаще всего это человек с плохими техническими знаниями.
Нет способа поддержать это с EF. Вы должны сделать это полностью с SQL (на самом деле это динамический SQL) и со старым ADO.NET. ExecuteStoreQuery
никогда не возвращает отношения - он не может этого сделать. Ленивая загрузка не может также работать, потому что стандартная отложенная загрузка основана на статической структуре базы данных, сопоставленной с платформой Entity. Ваш объект Client
не может быть отображен EF, потому что он требует, чтобы каждый объект был отображен только один раз (= в одну таблицу или набор связанных таблиц в случае наследования или разделения). Ваша сущность Client
должна отображаться столько раз, сколько у вас пользователей в таблице User
.