這段代碼工作正常,但我想知道是否沒有辦法將它寫入一個LINQ表達式中,所以數據庫服務器可以完成一次傳遞,而不是實現一個結果集,然後循環通過它,這是我的代碼將產生。尋找與LINQ的界限
var logs = from AssetLog log in dc.AssetLogs
where log.AssetId == assetId && log.Recorded >= start && log.Recorded <= finish
select log;
return new GetInteractionBoundsResult()
{
N = logs.Max(log => log.Latitude),
S = logs.Min(log => log.Latitude),
W = logs.Min(log => log.Longitude),
E = logs.Max(log => log.Longitude)
};
所以,LINQ大師,你會怎麼寫上面,使其產生在數據庫或多或少這樣的:
SELECT MIN(Latitude) S, MAX(Latitude) N, MIN(Longitude) W, MAX(Longitude) E
FROM ASSETLOG WHERE etc etc
我敢肯定'logs'將無法引用自身。 – dahlbyk
@dahlbyk:有幾個錯別字,對不起。 – StriplingWarrior
groupby成,應該想到的,謝謝 –