Следующий запрос работал нормально с EF core 2, но EF core 3 выдаст ошибку! Я даже мог бы добавить некоторые включения после этого запроса в ядре EF 2, которые я сейчас разрешил go.
query:
// just to have an Id
var id = Guid.NewGuid();
var resutl = Context.Parties.FromSqlInterpolated($@"WITH mainOffice AS
(SELECT * FROM Parties as o1 WHERE (Discriminator = N'Office')
AND (Id = '{id}')
UNION ALL SELECT o.* FROM Parties AS o INNER JOIN mainOffice AS m
ON m.Id = o.ParentOfficeId)
SELECT * FROM mainOffice as f").ToList();
Ошибка, которую он выдает, выглядит следующим образом:
FromSqlRaw или FromSqlInterpolated вызывается с несложным SQL и составлением запроса по нему. Попробуйте выполнить AsEnumerable
после метода FromSqlRaw или FromSqlInterpolated для выполнения композиции на стороне клиента.
Знание следующей информации может помочь:
- Таблица «Стороны» таблица на иерархию
- Я пытался выполнить запрос как для DbSet типа root, так и для типа, который мне интересен
- Не удалось ни с ни FromSqlRaw, ни FromSqlInterpolated
- Добавление 'AsEnumerable' тоже не помогло
Я что-то забыл? Что я делаю неправильно? Что значит «несложный SQL»? Означает ли это, что ядро EF пытается интерпретировать запрос?