LINQ クエリで呼び出すテーブル値関数があります。
私が理解しているように (ここで参照されているように)、並べ替えはテーブル値関数の外で行う必要があります。つまり、LINQ クエリで実行する必要があります。
構文に関する支援が必要です。これが関数への元の呼び出しです。
var sourceQuery = (from f in db.fGameListDataTable(competitionID, eventID, participantType)
select f);
このカスタム ソートを SQL クエリから取得し、それを LINQ クエリに追加する必要があります。
Order By
CASE
WHEN GameType = 'G' THEN '1'
WHEN GroupNumber = '1' THEN '2'
WHEN GroupNumber = '2' THEN '3'
WHEN GroupNumber = '3' THEN '4'
WHEN GroupNumber = '4' THEN '5'
WHEN GameType = 'GT' THEN '6'
WHEN GameType = 'P' THEN '7'
WHEN GameType = 'FT' THEN '8'
END ASC,
g.GameID ASC
アップデート
視覚的な参照として、並べ替えられたテーブルを次に示します。順序に注意してください。