То, что вы описываете, является стандартным шаблоном RIA WCF и тем, как команда RIA WCF спроектировала систему для работы.
WCF RIA позволит вам получить сквозной доступ к вашим сущностям EF4 и скрыть свою бизнес-логику за интерфейсом службы RIA. Атрибуты аутентификации и авторизации можно применять к вашим сущностям в определении службы (класс обслуживания домена) на уровне класса (все методы в контракте на обслуживание) или на уровне метода для более детального контроля.
Единственный серьезный недостаток, который я вижу в вашем плане, заключается в том, что «другим частям системы необходим доступ к уровню данных, который им потребуется для прохождения этого уровня». WCF RIA на данном этапе хорошо работает только с Silverlight (и, может быть, ASP.NET MVC? Я не уверен). В конечном итоге Microsoft намерена расширить службы RIA для использования любым приложением .NET, но на данном этапе это действительно только Silverlight. Это означает, что вы упустите множество положительных отзывов о WCF RIA с другими приложениями, не относящимися к Silverlight. Однако я полагаю, что вы все еще можете представить службу WCF RIA как обычную службу WCF, включая уровень аутентификации / авторизации. Вы просто пропустите автоматические прокси, генерацию кода и т. Д.
Однако есть еще несколько способов использования этого сервисного слоя извне Silverlight. Вы можете предоставить свои объекты EF4 конечной точке OData или службе SOAP / REST. Подробнее об этом читайте в этой статье .