2012-07-13 47 views
1

T-SQL語句我嘗試轉換下面的SQL SELECT語句LINQ2SQL:與LINQ2SQL

SELECT stoptimes.stopid, 
     trips.tripid, 
     stoptimes.sequence 
FROM trips 
     INNER JOIN stoptimes 
       ON stoptimes.tripid = trips.tripid 
WHERE (trips.routeid = '3') 
     AND (trips.endplace = 'END001') 
ORDER BY stoptimes.sequence DESC 

它運作良好,但與LINQ2SQL,我得到這個下面的語句的異常:

var first = (from tableTrip in db.Trips 
      join tableStopTimes in db.StopTimes on tableTrip.TripId equals tableStopTimes.TripId 
      where tableTrip.RouteId == 3 && tableTrip.EndPlace == "TAEND" 
      select new 
      { 
       tableStopTimes.StopId, 
       tableStopTimes.Radius, 
       tableStopTimes.PlaceName, 
       tableStopTimes.Place, 
       tableStopTimes.Sequence 
      }).OrderByDescending(X => X.Sequence).First(); 

感謝

+1

什麼是例外? – 2012-07-13 20:52:13

+0

序列不包含任何元素 – Maxime 2012-07-13 20:52:59

+0

,這意味着該查詢返回任何結果,並在因爲那錯誤空序列首先調用() – 2012-07-13 20:55:17

回答

0

錯誤「序列不包含任何元素」是你在沒有在任何事情首先調用()集合的結果。

您可以撥打FirstOrDefault來避免這個問題。

編輯:

我相信,在你創建的匿名類型的情況下,則默認爲空。