我试图弄清楚如何将以下 SQL 语句转换为 LINQ to SQL:
, SUM(CASE WHEN p.prioid IN ('1 - Routine', '6 - Planned Outage', '7-Routine Weekly PM', '8-Routine Non-Weekly PM') THEN 1 ELSE 0 END) as Planning
这是我到目前为止所尝试的:
Planning = groupItem.Sum(groupItem.Key.Prioid=="1 - Routine" || groupItem.Key.Prioid=="6 - Planned Outage"||
groupItem.Key.Prioid=="7-Routine Weekly PM" || "8-Routine Non-Weekly PM") ? 1 : 0
Planning = groupItem.Sum(x=> SqlMethods.Like(x.Prioid, "1 - Routine") || SqlMethods.Like(x.Prioid, "6 - Planned Outage")
|| SqlMethods.Like(x.Prioid, "7-Routine Weekly PM") || SqlMethods.Like(x.Prioid, "8-Routine Non-Weekly PM")) ? 1 : 0
还有其他一些事情,但它们都不起作用,因为您无法将 bool 转换为 int 或“无法将 lambda 表达式转换为委托类型 'System.Func”
我明白为什么我尝试这样做的方式不起作用。
你是怎么做到的?我知道有一种方法,但我对 LINQ to SQL 的了解还不够,无法弄清楚。任何意见,将不胜感激。