我正在:
序列不包含元素
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;
}
答案 0 :(得分:12)
您的查询未返回任何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;
}