[英]How to use Linq query Result in OrderBy?
在這里,我有一個場景來獲取本月(當前月份)的日期數據
Excepted Result
Date_time sum(collection.amountreceived ) Sum(bank_deposit.depositamount)
1/07/2014 2000 1000
2/07/2014 3000 3000
架構
bank_deposit
agentid (nvarchar(30))
depositamount (DECIMAL(10,0))
date_time (TIMESTAMP)
collection
customeridn (varchar(30))
amountreceived (DECIMAL(10,0))
date_time (TIMESTAMP)
agentid (nvarchar(30))
在這里,我使用聯合來在一列中獲取datetime列數據
var unionDateColumn = ((from agent in db.collections select agent.Date_Time)
.Union(from u in db.bank_deposit select u.Date_Time)).ToList();
我如何使用這個unionDateColumn數據進行訂購並獲得預期的輸出?
下面是查詢金額的總和,但是這里我的問題是如何
var model = (from coll in db.collections.Where(e => e.AgentID == item.AgentID)
let depositedAmount = db.bank_deposit.Where(d => d.AgentID == item.AgentID ).Sum(c => c.DepositedAmount) == null ? 0
: db.bank_deposit.Where(d => d.AgentID == item.AgentID).Sum(x => x.DepositedAmount)
let collectionAmount = db.collections.Where(c => c.AgentID == item.AgentID).Sum(c => c.AmountReceived) == null ? 0
: db.collections.Where(v => v.AgentID == item.AgentID).Sum(m => m.AmountReceived)
select new GetBalanceAmount
{
DepositedAmount = depositedAmount,
CollectionAmount = collectionAmount
});
我假設您想按date_time排序結果
var result = unoinDateColumn.OrderBy(t=>t.Date_Time).ToList().;
為什么選擇FirstOrDefault? 我想你想要每一行。
Sajeetharan的示例:var result = unoinDateColumn.OrderBy(t => t.Date_Time).ToList(); 結果與“按DateTime從unionDateColumn順序選擇*”相同
您的示例:model.ToList()。OrderByDescending(unoinDateColumn).FirstOrDefault();
與“ selection from model orderby unionDateColumn”相同嗎?我可以問一下為什么要分別處理每個列嗎? 裝在一個大陣列中?
將其處理在一個數組中,並像此模型一樣處理。OrderByDescending(x => x.Date_Time);
它將影響對象模型並對其進行排序,如下所示:model = model.sortedBy(model.Date_Time);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.