Сколько раз запрос будет отправлен и выполнен в базе данных с нематериализованными параметрами?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сколько раз запрос будет отправлен и выполнен в базе данных с нематериализованными параметрами?

Сообщение Anonymous »

Извините, если вопрос глупый, но мне очень хочется узнать ответ.
Мы используем linq2db. Я считаю, что этот IQueryable будет выполнен в базе данных один раз. Но я не уверен, правда ли это, из-за предупреждения Resharper
в котором говорится «Возможно множественное перечисление».
Мой запрос linq2db выглядит следующим образом:

Код: Выделить всё

IEnumerable ids = Enumerable.Range(1, 10)
.Select(x => {Console.WriteLine(x); return x;});

IQueryable
 query =
from person in dbContext.GetTable()
where ids.Contains(person.Id)  // here warning `Possible Multiple enumeration`
|| ids.Contains(person.DepartmentId) // here warning `Possible Multiple
//  enumeration`
select
new PersonDto
{
Name = person.Name,
Id = person.Id,
DepartmentId = person.DepartmentId
}).Distinct();

await query.ToListAsync()

Я знаю, что это можно легко исправить, вызвав .ToList(). Но я просто хочу знать, правда ли, что запрос будет отправлен в базу данных 20 раз? (потому что Enumerable.Range(1, 10) и ids используются дважды в условииwhere)


Подробнее здесь: https://stackoverflow.com/questions/792 ... materializ
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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