對於代碼如下所示,我不知道有沒有分配在SELECT語句中的地位和類型的更有效的方法?還有就是合同和/類型爲合同項目是從API調用和狀態來的狀態沒有關係/類型是從本地數據庫。在LINQ效率選擇語句
有問題的部分是
Status = statuses.FirstOrDefault(y => y.StatusId == x.StatusId)
Type = types.FirstOrDefault(y => y.TypeId == x.TypeId)
是否有分配這些更好的辦法?
var statuses = this.StatusRepository.GetActiveStatuses().ToList();
var types = this.TypeRepository.GetActiveTypes().ToList();
var contracts = this.ContractApi.GetCurrentContracts().Select(x => new ContractItem {
Id = x.Id,
Name = x.Name,
Status = statuses.FirstOrDefault(y => y.StatusId == x.StatusId) ?? Status.Empty(),
Type = types.FirstOrDefault(y => y.TypeId == x.TypeId) ?? Type.Empty()
});
這很酷。我從來沒有見過這樣做。謝謝你和@Milney的幫助! –