Просто (и, к сожалению) вы попали в одну из текущих ошибок перевода запросов EF Core.
Похоже, это вызвано доступом к внешнему параметру SelectMany
lambda внутри внутреннего выражения Select
.
Обходной путь - использовать другую перегрузку SelectMany
, имеющую вторую лямбду с обоимивнешние и внутренние параметры (которые, я думаю, используются компилятором C # при преобразовании синтаксиса запроса LINQ):
IQueryable<GizmoViewModel> dataReferences = (
gizmos.SelectMany(j => j.DataReferences, (j, r) =>
new GizmoViewModel()
{
GizmoId = j.Id,
DataId = r.DataId
}
)
);