根據linq查詢中檢索到的其他幾個「列」設置狀態的最佳做法是什麼?linq條件查詢
var result = (from q in query
select new Item
{
ApprovedDate = q.ApprovedDate,
CreatedDate = q.CreatedDate,
DeclinedDate = q.DeclinedDate,
Status = 0
});
我想狀態設置爲0,1,2
(ApprovedDate == null and DeclinedDate == null) --> 0
(ApprovedDate != null and DeclinedDate == null) --> 1
(DeclinedDate != null) --> 3
所以,或許是這樣的:
var result = (from q in query
select new Item
{
ApprovedDate = q.ApprovedDate,
CreatedDate = q.CreatedDate,
DeclinedDate = q.DeclinedDate,
Status = (q.CreatedDate == null && q.DeclinedDate == null) ? 0 : (q.ApprovedDate != null && q.DeclinedDate == null) ? 1 : 2
});
我可能會添加更多的狀態組合,所以我應該嘗試在linq select query中執行此操作,在我的存儲庫對象中。或者稍後在控制器中,我將執行.ToList()然後foreach列表以設置正確的狀態代碼?
甚至有3個以上的狀態碼,linq查詢變得很難讀取。
謝謝。我同意100%與你。這當然是最明顯和最好的解決方案。再次感謝..!!現在爲什麼5分鐘前我的腦海裏沒有這個:) – Kman
@Kman我喜歡把邏輯和數據放在一起:) –