a = b.Sum(...) + c.Sum(...)
其中b,c
都是实体。 问题是:当(b.Sum(...)
,c.Sum(...)
)中的至少一个为空时,a
将为空。我想将空值视为0.我将如何做到这一点?
a = b.Sum(...) + c.Sum(...)
其中b,c
都是实体。 问题是:当(b.Sum(...)
,c.Sum(...)
)中的至少一个为空时,a
将为空。我想将空值视为0.我将如何做到这一点?
至少在LINQ2SQL您可以手动转换为int?
,然后处理无效的情况下
a = ((int?)b.Sum(...) + c.Sum(...)).GetValueOrDefault();
铸造技巧。 – ren
我想你可以使用空coelesce此:
a = (b.Sum(..) + c.Sum(...)) ?? 0;
注:未检查的语法!不确定你的款项在做什么!
看一看下面的MSDN文章:http://msdn.microsoft.com/en-us/library/ms173224.aspx
也许这样的事情
a = (b.Sum(...) + c.Sum(...)) ?? 0;
现在如果表达式为null,将是0;
我想'了'是一个标量,不是一个实体。如果其中的一个是“空”而另一个返回一个数字呢? –
对,固定。当至少有一个为空时,a也为空。 – ren
但是当'12 + null'时你想要一个什么? 0或12? –