簡體   English   中英

如何在OrderBy中使用Linq查詢結果?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM