下午,如何在LINQ
我想知道我怎麼會在LINQ做這個查詢做查詢,任何人都可以請提供手。
SELECT Id, ExportDate,
(SELECT TOP (1) Id
FROM Orders
WHERE (PickupListId = PickingLists.Id)) AS StartOrderId,
(SELECT TOP (1) Id
FROM Orders AS Orders_1
WHERE (PickupListId = PickingLists.Id)
ORDER BY Id DESC) AS EndOrderId,
(SELECT COUNT(Id) AS Expr1
FROM Orders AS Orders_2
WHERE (PickupListId = PickingLists.Id)) AS NumberOfOrders
FROM PickingLists
ORDER BY ExportDate DESC
更新 我已經更新了我的代碼按安德烈的解決方案,但是有一個問題,轉換ID的請你能看到它可能是什麼?
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<GetPickingLists> GetPickingLists()
{
using (aboDataDataContext dc = new aboDataDataContext())
{
var query = from list in dc.pickingLists
orderby list.ExportDate descending
select new GetPickingLists
{
plId = list.Id,
plDate = list.ExportDate,
orderStart = Convert.ToInt32(dc.amzOrders.Where(order => order.pickupListId == list.Id).FirstOrDefault()),
orderEnd = Convert.ToInt32(dc.amzOrders.Where(order => order.pickupListId == list.Id).OrderByDescending(order => order.id).FirstOrDefault()),
orderCount = dc.amzOrders.Where(order => order.pickupListId == list.Id).Count(),
};
return query.ToList();
}
}
我創造了這個設置的反應,不知道這是必要的。乾杯。
public class GetPickingLists
{
public int plId { get; set; }
public int orderStart { get; set; }
public int orderEnd { get; set; }
public int orderCount { get; set; }
public DateTime plDate { get; set; }
}
嗨,請看我的更新代碼...我有一個問題,返回的開始和結束ID – thatuxguy 2012-07-30 14:22:17
@thatuxguy,對不起,完全忘了返回命令'Id'。請參閱更新的代碼。 – Andrei 2012-07-30 14:28:21
排序我認爲...讓我測試 – thatuxguy 2012-07-30 14:32:10