Я думаю, что абсолютно нормально. Итак, вы можете иметь модули:
YourApplication
(просто загрузчик Shell)
YourApplication.Infrastructue
(все общие интерфейсы, перечисления и т. Д.)
YourApplication.Data
(или YourApplication.DAL
) - проект с сущностями Entity Framework
YourApplication.ModuleA
(со ссылками на *.Infrastructure
и *.Data
)
YourApplication.ModuleB
(со ссылками на *.Infrastructure
и *.Data
)
Prism рекомендует, чтобы ModuleA
не знал о ModuleB
, а не о том, что они не должны использовать одни и те же общие проекты (руководство Prism содержит YourApplication.Infrastructure
, я прав? :))
Но в целом - очень вероятно, что вам потребуется добавить модели в ваши модули (даже если у вас есть слой Entity Framework), потому что очень часто бизнес-модели и модели баз данных не совпадают. Но если вы можете использовать только модель базы данных - это будет здорово.