[英]How to use Linq query Result in OrderBy?
Here i had scenario to get the data in date wise of this month(Present month) 在这里,我有一个场景来获取本月(当前月份)的日期数据
Excepted Result
Date_time sum(collection.amountreceived ) Sum(bank_deposit.depositamount)
1/07/2014 2000 1000
2/07/2014 3000 3000
Schema 架构
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))
Here I used union to get the datetime column data in one column 在这里,我使用联合来在一列中获取datetime列数据
var unionDateColumn = ((from agent in db.collections select agent.Date_Time)
.Union(from u in db.bank_deposit select u.Date_Time)).ToList();
How can i use this unionDateColumn data for orderby and to get expected output? 我如何使用这个unionDateColumn数据进行订购并获得预期的输出?
Below is query for sum of amount but here my issue is how to 下面是查询金额的总和,但是这里我的问题是如何
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().;
Why FirstOrDefault ? 为什么选择FirstOrDefault? i asume you want every row.
我想你想要每一行。
Sajeetharan's example: var result = unoinDateColumn.OrderBy(t=>t.Date_Time).ToList(); Sajeetharan的示例:var result = unoinDateColumn.OrderBy(t => t.Date_Time).ToList(); result is the same as "select * from unionDateColumn order by DateTime"
结果与“按DateTime从unionDateColumn顺序选择*”相同
Your example: model.ToList().OrderByDescending(unoinDateColumn).FirstOrDefault(); 您的示例:model.ToList()。OrderByDescending(unoinDateColumn).FirstOrDefault();
is the same as "Select * from model orderby unionDateColumn" May i ask why you are handling each column seperately? 与“ selection from model orderby unionDateColumn”相同吗?我可以问一下为什么要分别处理每个列吗? insted of in one large array ?
装在一个大阵列中?
Handle it in one array, and do like this model.OrderByDescending(x => x.Date_Time); 将其处理在一个数组中,并像此模型一样处理。OrderByDescending(x => x.Date_Time);
it will affect the object model and order it like this model = model.sortedBy(model.Date_Time); 它将影响对象模型并对其进行排序,如下所示:model = model.sortedBy(model.Date_Time);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.