Ich schrieb einen T-SQL
Code, der Fall verwendet hat, wenn in ausgewählten Bereich. Wir könnten t-sql oder store procedure nicht in der Anwendung verwenden, deswegen muss ich den folgenden Code in LINQ
konvertieren.
Gibt es eine Möglichkeit, diesen Code schnell in linq zu ändern?Wie kann ich CASE WHEN mit LINQ implementieren?
SELECT
T.TaskID,
SUM(CASE WHEN T.LogDate<@fromDate AND T.TaskStatusID=2 THEN ISNULL(DA_CHILD.Score,0)*(T.DoneScore/100) ELSE 0 END) PreAmount,
SUM(CASE WHEN T.LogDate>[email protected] AND T.LogDate<[email protected] AND T.TaskStatusID=2 THEN ISNULL(DA_CHILD.Score,0)*(T.DoneScore/100) ELSE 0 END) CurAmount
FROM
NetTasks$ T
INNER JOIN NetDeviceActions DA ON DA.DeviceActionID=T.DeviceActionID
LEFT JOIN NetFinancialInfoDetail FID ON FID.TaskID=T.TaskID
INNER JOIN NetActionParents AP ON AP.ParentID=DA.ActionID
INNER JOIN NetDeviceActions DA_CHILD ON DA_CHILD.ActionID=AP.ChildID AND
DA_CHILD.DeviceID=DA.DeviceID AND
DA_CHILD.ContractInfoID=DA.ContractInfoID
WHERE
T.ParentTaskID = 0 AND
T.FinishDate<[email protected] AND
DA.ContractInfoID=9
GROUP BY
T.TaskID, T.DoneScore,T.FinishDate
Wie ich triple Zustand auf LINQ umsetzen können? –