【发布时间】:2015-04-01 15:37:40
【问题描述】:
我有三个表,它们像链接一样链接
grandparent -> parent -> child
categoryType - > Categories - > Menus
当我尝试运行时
return categoryTypes.Select(x =>
new CategoryTypeIndexModel
{
Id = x.Id,
Name = x.Name,
Categories = x.Categories.Count,
Items = x.Categories.Sum(m => m.Menus.Count())
});
我明白了
转换为值类型“System.Int32”失败,因为具体化值为 null。结果类型的泛型参数或查询必须使用可为空的类型。
【问题讨论】:
-
x.Categories.Sum(m => (int?) m.Menus.Count()) -
Items = x.Categories.Where(m => m.Menus != null && m.Any()).Any() ? x.Categories.Where(m => m.Menus != null && m.Any()).Sum(m => m.Menus.Count()) : 0