我有一些主要基于 Josh Smith 的msdn 文章的主从课程。它的代码很棒,尤其是作为示例,但让我想知道如何最好地处理需要存储库的某个子集的情况。
所以 Josh 有一个名为 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 来解决这样的问题?
干杯,
贝里尔