"InvalidOperationException: при вызове из« VisitLambda »перезапись узла типа« System.Linq.Expressions.ParameterExpression »должна возвращать ненулевое значение того же типа. В качестве альтернативы переопределите« VisitLambda »и измените его на not посещать детей этого типа. "
Я получил эту ошибку при использовании Any (). Без Any (), без ошибок.
@model List<WebApplication10.Models.UserCourse>
@{
var db = new WebApplication10.Models.TestContext();
var list = db.Course.Select(x => new SelectListItem()
{
Value = x.Code,
Text = x.Name,
ERROR -> Selected = Model.Any(y => y.Course == x.Code)
}).ToList();
if (list != null && list.Any())
{
for (int i = 0; i <= list.Count() - 1; i++)
{
<input type="hidden" asp-for="@list[i].Value" />
<input type="hidden" asp-for="@list[i].Text" />
<input type="checkbox" asp-for="@list[i].Selected" /> @list[i].Text
<br />
}
}
}
Этот работал нормально в старом. net core 2.2. Но новый. net core 3.1.2 получил ошибку. Если я делаю Any (), проверяя внутри l oop, это работает нормально. Как решить Any () в Select () linq?