我有以下 Linq to SQL:
var finalResults =
(from d in data
group d by new { d.LocationName, d.Year, d.Month, d.Denominator, d.Numerator } into groupItem
orderby groupItem.Key.Year, groupItem.Key.Month, groupItem.Key.LocationName
select new
{
IndicatorName = IndicatorName,
groupItem.Key.LocationName,
Year = string.Format("{0}", (int?)groupItem.Key.Year),
Month = string.Format("{0:00}", (int?)groupItem.Key.Month)
Numerator = groupItem.Sum(x => x.Numerator),
groupItem.Key.Denominator,
}).ToList();
问题是年份和月份都有一些空字符串。发生这种情况时,我想用“不可用”替换空字符串。我试着做一个像这样的三元语句:
Year = string.Format("{0}", (int?)groupItem.Key.Year) == "" ? "Not Available" : string.Format("{0}", (int?)groupItem.Key.Year),
Month = string.Format("{0:00}", (int?)groupItem.Key.Month) == "" ? "Not Available" : string.Format("{0:00}", (int?)groupItem.Key.Month),
我试图做的是“如果年份(或月份)有一个空字符串,则显示“不可用”,否则显示该值
但是,这并没有做我想做的事情,因为我仍然失败了
Assert.AreNotEqual("", endItem.Year);
Assert.AreNotEqual("", endItem.Month);
测试。
有什么建议吗?