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();
}