selectステートメント内に次のSQLスニペットがあります。
CASE
WHEN wot.id LIKE '%Correct%' THEN 'Corrective'
WHEN wot.id LIKE '%Pred%' THEN 'Preventative'
ELSE 'OTHER'
END
AS worktype
これをLINQtoSQLに次のように変換しました。
WorkType = groupItem.Key.Id.Contains("Correct") ? "Corrective" : "OTHER" ||
WorkType = groupItem.Key.Id.Contains("Pred") ? "Preventative" : "OTHER"
どちらか一方をselectステートメントに単独で追加すると、クエリは正常に機能します。ただし、ORステートメントを追加し、selectで両方のステートメントを使用しようとすると、「無効な匿名型メンバー宣言子です。匿名型メンバーは、メンバー割り当て、単純な名前、またはメンバーアクセスで宣言する必要があります」というエラーが発生します。
このエラーに関する他の質問を見てきましたが、その場合、問題を修正するために、ステートメントの1つ(WorkType、Work_Typeなど)の名前を変更します。ただし、Worktypeは出力フィールドの名前であるため、両方をWorkTypeにする必要があります。
何か案は?