Шаблон MVVM не заботится о методе доступа к данным, а метод доступа к данным не заботится о шаблоне MVVM. Для начала вы можете просто написать запросы в ваших моделях ViewModels, а затем реорганизовать их, используя шаблон репо.
По части PRISM и объединение 3 рамок. Призма действительно не нужна. Посмотрите пример HelloScreens, который входит в исходную загрузку Caliburn Micro. В клиентском проекте есть 3 подпапки / Клиент / Заказы и / Настройки. Они в основном модули и могут быть разделены на отдельные проекты. Здесь - сообщение на эту тему.
Мне нравится CM, но вы можете попробовать еще одну альтернативу - Lightswitch, поскольку это CRM компании.
редактирование:
Найдите пример шаблона репозитория и EF, который вам нравится, и используйте его. Затем в ваших ViewModels и используя DI:
public class CustomerViewModel : Screen
{
public IRepository CustomerRepo { get; set; }
public CustomerViewModel(IRepository customerRepo)
{
Customer = customer
}
private BindableCollection<Customer> _customers;
public BindableCollection<Customer> Customers
{
get { return _customers; }
set
{
_customers = value;
NotifyOfPropertyChange(() => Customers);
}
}
protected override void OnActivate()
{
base.OnActivate();
Customers = CustomerRepo.GetAll();
}
}