0
假设我想填充基于客户实体框架模型构建的CustomerViewModel的列表,其中一些字段(如余额)单独计算。在哪里执行LINQ到实体查询的额外逻辑?
下面我有用于列表的代码 - 它是在我的服务层实现的,但是当我从数据库中获取一个项目并执行时,我想执行此代码,以及在不同的服务中访问客户数据。
我应该怎么做才能确保性能,而不是重复代码 - 用于计算平衡的代码?
public List<CustomerViewModel> GetCustomerViewModelList()
{
IQueryable<CustomerViewModel> list = from k in _customerRepository.List()
select new CustomerViewModel
{
Id = k.Id,
Name = k.Name,
Balance =
k.Event.Where(z => z.EventType == (int) EventTypes.Income).Sum(z => z.Amount)
};
return list.ToList();
}