У меня есть несколько мастер-классов, основанных в основном на статье msdn Джоша Смита . Его отличный код, особенно для примера, но заставляет меня задуматься, как лучше всего справляться с ситуациями, когда вам нужно какое-то подмножество хранилища.
Итак, у Джоша есть класс, называемый AllCustomersViewModel, и код примерно такой:
public AllCustomersViewModel(CustomerRepository customerRepository)
{
if (customerRepository == null) throw new ArgumentNullException("customerRepository");
// Populate the AllCustomers collection with CustomerViewModels.
_allCustomers = _customerRepository
.GetCustomers()
.Select(cust => new CustomerViewModel(cust, _customerRepository))
.ToList();
}
Как вы решаете ситуацию, когда вам нужны PreferredCustomers, ExCustomers, LocalCustomers и т. Д. И т. Д. ??
Его код предлагает мне класс ViewModel для каждого с жестко заданной фильтрацией хранилища в этом классе.
Или еще способ передать дополнительный фильтр в ViewModel вместе с хранилищем?
Как ваш код решает эту конкретную проблему?
Кроме того, есть ли у кого-нибудь ссылки или хорошие примеры, показывающие, как использовать SpeciaficationPattern или IQueryable для решения подобных проблем?
Приветствия
Berryl