У меня есть асинхронный метод, который генерирует запрос, где я делаю что-то вроде этого:
var query = context.table.AsNoTracking()
.Where(whereQuery)
.GroupJoin(...)
.GroupJoin(... (a, b) => new Lab {
foo = a.bar
}
)
Если это просто так, я могу сделать await query.ToArrayAsync()
, и все хорошо.Теперь я сталкиваюсь с тем, что мне нужно выполнить подзапрос:
var query = context.table.AsNoTracking()
.Where(whereQuery)
.GroupJoin(...)
.GroupJoin(... (a, b) => new Lab {
foo = a.bar,
bar = (
from x in ... select new { ... }
)
}
)
Этот элемент bar
представляет собой возвращаемые несколько элементов, поэтому его нельзя выполнить как частьприсоединиться.Как только я это сделаю, я не знаю, как сделать этот внутренний запрос приемлемым.Какой правильный синтаксис использовать для этого?
Основной «внешний» запрос выполняется как вызовы метода, потому что я передаю Expression
методу для whereQuery
, но иногда эти «внутренние» запросыбудет сделано в любом случае.
Так что я получаю что-то вроде:
[
{
"foo": 17,
"bar": [
{ "a": 12 },
{ "b": 73 }
]
}
]