1

Linq2SQLで次のSQLSelectステートメントを変換しようとしています。

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();

ありがとう

4

1 に答える 1

0

「シーケンスに要素が含まれていません」というエラーは、何も含まれていないときにFirst()を呼び出しているコレクションの結果です。

この問題を回避するには、代わりにFirstOrDefaultを呼び出すことができます。

編集:

作成している匿名タイプの場合、デフォルトはnullになると思います。

于 2012-07-13T20:58:58.180 に答える