2011-10-03 57 views
0

我:LINQ到實體框架:像ISNULL

a = b.Sum(...) + c.Sum(...) 

其中b,c都是實體。 問題是:當(b.Sum(...)c.Sum(...))中的至少一個爲空時,a將爲空。我想將空值視爲0.我將如何做到這一點?

+0

我想'了'是一個標量,不是一個實體。如果其中的一個是「空」而另一個返回一個數字呢? –

+0

對,固定。當至少有一個爲空時,a也爲空。 – ren

+0

但是當'12 + null'時你想要一個什麼? 0或12? –

回答

1

至少在LINQ2SQL您可以手動轉換爲int?,然後處理無效的情況下

a = ((int?)b.Sum(...) + c.Sum(...)).GetValueOrDefault(); 
+0

鑄造技巧。 – ren

1

也許這樣的事情

a = (b.Sum(...) + c.Sum(...)) ?? 0; 

現在如果表達式爲null,將是0;