我在 select 语句中有以下 SQL 片段:
CASE
WHEN wot.id LIKE '%Correct%' THEN 'Corrective'
WHEN wot.id LIKE '%Pred%' THEN 'Preventative'
ELSE 'OTHER'
END
AS worktype
我已经将其翻译成 LINQ to SQL,如下所示:
WorkType = groupItem.Key.Id.Contains("Correct") ? "Corrective" : "OTHER" ||
WorkType = groupItem.Key.Id.Contains("Pred") ? "Preventative" : "OTHER"
如果我将一个或另一个单独添加到 select 语句中,则查询可以正常工作。但是,当我添加 OR 语句并尝试在 select 中使用这两个语句时,我收到“无效的匿名类型成员声明器。必须使用成员赋值、简单名称或成员访问来声明匿名类型成员”错误。
我已经看到有关此错误的其他问题,在这些情况下,他们重命名了其中一个语句(例如 WorkType、Work_Type)以解决问题。但是,Worktype 是我的输出字段的名称,所以我需要两者都是 WorkType。
有任何想法吗?