我想下面的查詢轉換到LINQ: -LINQ的 - 與ISNULL總和
select SUM(isnull(day1,0)+isnull(day2,0)) as TCount from CALC
所以我這樣做: -
double total = ctx.tblCALC.Sum(m=>m.day1 + m.day2);
我無法理解在1日isnull
部分查詢。任何人都可以解釋如何在Linq中製作它&。
我想下面的查詢轉換到LINQ: -LINQ的 - 與ISNULL總和
select SUM(isnull(day1,0)+isnull(day2,0)) as TCount from CALC
所以我這樣做: -
double total = ctx.tblCALC.Sum(m=>m.day1 + m.day2);
我無法理解在1日isnull
部分查詢。任何人都可以解釋如何在Linq中製作它&。
您可以使用Null Coalesce運營商提供的day1
& day2
應該在服務器端代碼可空: -
double total = ctx.tblCALC.Sum(m=>m.day1 ?? 0 + m.day2 ?? 0);
在SQL服務器ISNULL: -
替換NULL與指定的替換值
我們正在做在C#中使用null coalsece操作符也是一樣。
'??不能應用於double類型的操作數來獲取這個錯誤。 – Anup
@Anup - 是的,顯然它們應該在你的服務器代碼中是可空的,即它的數據類型應該是'double' –
'ISNULL()'用於檢查給定的列值,如果列值爲null,則將其替換爲'0'。 – Kaf
SQL中的ISNULL函數需要兩個參數,一個是要檢查其是否具有NULL值的字段名稱,另一個是替換值,即如果該值爲NULL,則返回第二個參數。所以聲明ISNULL(day1,0)表示如果day1爲null,則返回0. –