Я играю с EF и RIA Services для предстоящего проекта. Для этого проекта мне нужно наследование, чтобы можно было абстрагироваться от конкретных реализаций типов. Допустим, у нас есть абстрактный класс CustomerBase . Клиентам в США требуются другие данные, чем клиентам в Великобритании, поэтому мы можем внедрить Customer : CustomerBase
для Великобритании и США в разных модулях. Другие модули не должны зависеть от конкретной реализации, потому что CustomerBase уже охватывает большую часть земли.
Я создал такой сценарий, и мои таблицы созданы идеально, и служба RIA копирует их в клиент Silverlight (v5). Но в проекте Silverlight такое утверждение ...
CustomerBase customer = new Customer() { /* ... */ };
... недопустимо, потому что служба RIA позволяет всем своим сущностям извлекать из Entity ( CustomerBase является общим для основного модуля, поэтому каждый может получить к нему доступ).
Как бы вы решили это? Я видел этот поток, но я не могу найти образец, который делает то, что мне нужно (я думаю, что ссылка не работает). Есть ли способ сделать вышеупомянутое утверждение компилируемым или есть обходной путь для такого рода проблемы? Я не могу себе представить, что я первый, у кого есть это требование.