【发布时间】:2013-05-22 11:52:59
【问题描述】:
我有一个类似这样的 SQL 查询:
SELECT
((dbo.ActiveWO.StartTime*60*60*24) - dbo.ActiveWOUpdatedTimes.ElapsedTime) as TimeLeft
如何将它插入到 linq to sql 查询中?
基本上不知道AS的语法是什么以及如何在c#查询中实际编写上面的计算,然后我需要通过TimeLeft排序。
【问题讨论】:
我有一个类似这样的 SQL 查询:
SELECT
((dbo.ActiveWO.StartTime*60*60*24) - dbo.ActiveWOUpdatedTimes.ElapsedTime) as TimeLeft
如何将它插入到 linq to sql 查询中?
基本上不知道AS的语法是什么以及如何在c#查询中实际编写上面的计算,然后我需要通过TimeLeft排序。
【问题讨论】:
来自您的previous question,我猜您有如下查询。您可以使用select new 创建一个anonymous type object,然后使用OrderBy,例如:
var query = (from activeWO in context.ActiveWOs
join activeWOUpdated in context.ActiveWOUpdatedTimes on activeWO.PW_ID equals activeWOUpdated.PW_ID into dj
from activeWOUpdated in dj.DefaultIfEmpty()
where activeWO.WODC.Contains("IDC")
select new
{
TimeLeft = activeWO.StartTime * 60 * 60 * 24 - dj.ElapsedTime
}).Orderby(r=> r.TimeLeft);
【讨论】:
var results = ... //your query
.Select(a => new
{
TimeLeft = a.StartTime * 60 * 60 * 24 - a.ElapsedTime
});
【讨论】: