Зачем позволить с тем, где пункт не может перевести в SQL?C#

Место общения программистов C#
Ответить
Anonymous
 Зачем позволить с тем, где пункт не может перевести в SQL?

Сообщение Anonymous »

У меня есть фрагмент кода, который использует let с предложением, где.private List Example2()
{
var query1 =
from c in _context.Customers
let custPurchases = _context.Purchases.Where(p => p.CustomerId == c.Id)
where custPurchases.Any(x => x.Price > 500)
select c.Name;

return query1.ToList();
}
< /code>
он хорошо компилируется, но я получаю такую ​​ошибку во время выполнения: < /p>

system.invalidoperationexception: запрос содержит проекцию 'c => dbset ()
. Где(p => p.customerid == c.id) Коллекции в окончательной проекции должны быть «обоснованным» типом, таким как «список». Подумайте об использовании «толиста» или какого -либо другого механизма для преобразования «iqueryable» или «iorderedEmerable» в «ienumerable». Где EF Core сталкивается с проблемой во время перевода в SQL? /> < /p>
Может быть, вы можете предоставить некоторую литературу или ссылки, чтобы углубиться в мир дерева экспрессии?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ate-to-sql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»