sequence不包含任何元素Error Max()
本文关键字:Error Max 元素 何元素 sequence 包含任 | 更新日期: 2023-09-27 18:02:38
I am Getting:
序列不包含元素
private int? GetPrecedingSibling(int? contentid,int? templateid)
{
var value = _sequenceTemplateItemService.Query(e => e.templateId == templateid && e.contentItemId == contentid).Select(t => t.id).Max();
if (value != 0)
return value;
return null;
}
您的查询没有返回任何id
。这就是为什么例外。如果您的id
类型为int?
,则使用DefaultIfEmpty()
,如:
var value = _sequenceTemplateItemService.Query(e => e.templateId == templateid && e.contentItemId == contentid)
.Select(t => t.id)
.DefaultIfEmpty()
.Max();
其他选项是检查Any
记录,然后返回Max
或null。
var tempResult = _sequenceTemplateItemService.Query(e => e.templateId == templateid && e.contentItemId == contentid)
.Select(t => t.id);
if (tempResult.Any())
{
return tempResult.Max();
}
else
{
return null;
}