2011-10-03 60 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;