System.InvalidOperationException: 'Sequence contains no matching element'
System.InvalidOperationException: 'Sequence contains no matching element'
我可以知道为什么那个错误一直指向“String isEmailVerified ....”吗?
public JsonResult GetMemberCounts([FromBody] ChartFilterRequest filter)
{
DateTime startDate = DateTime.Parse(filter.MainFilter.First(m => m.Name == "startDate").Value as string);
DateTime endDate = DateTime.Parse(filter.MainFilter.First(m => m.Name == "endDate").Value as string);
String isEmailVerified = filter.MainFilter.First(m => m.Name == "isEmailVerified").Value as string;
var data = _dashboardComponent.GetMemberCount(startDate, endDate, isEmailVerified);
return new JsonResult(data);
}
尝试使用 FirstOrDefault
和 LastOrDefault
而不是 First
和 Last
,这些方法将 return 调用它们的类型的默认值如果没有元素与您作为参数提供的 lambda 表达式匹配。
在您的项目中,您只需使用 filter.MainFilter.First(xxxx)
来 select 数据,因此如果没有元素匹配您作为参数提供的 lambda 表达式,First()
将抛出异常,所以这里会报这个错误。
我可以知道为什么那个错误一直指向“String isEmailVerified ....”吗?
public JsonResult GetMemberCounts([FromBody] ChartFilterRequest filter)
{
DateTime startDate = DateTime.Parse(filter.MainFilter.First(m => m.Name == "startDate").Value as string);
DateTime endDate = DateTime.Parse(filter.MainFilter.First(m => m.Name == "endDate").Value as string);
String isEmailVerified = filter.MainFilter.First(m => m.Name == "isEmailVerified").Value as string;
var data = _dashboardComponent.GetMemberCount(startDate, endDate, isEmailVerified);
return new JsonResult(data);
}
尝试使用 FirstOrDefault
和 LastOrDefault
而不是 First
和 Last
,这些方法将 return 调用它们的类型的默认值如果没有元素与您作为参数提供的 lambda 表达式匹配。
在您的项目中,您只需使用 filter.MainFilter.First(xxxx)
来 select 数据,因此如果没有元素匹配您作为参数提供的 lambda 表达式,First()
将抛出异常,所以这里会报这个错误。