Что-то очень странное происходит в моей программе:Является ли это проблемой ленивой загрузки LINQ?
Я делаю этот запрос agt.DefaultNr == 1 на коллекции и получить 3 элементы, как результат:
IEnumerable<Agent> favAgents =
from agt in builtAgents where agt.DefaultNr == 1 select agt;
Для каждого элемента я поставил DefaultNr = 0
foreach (Agent noFavAgt in favAgents)
{
noFavAgt.DefaultNr = 0;
}
я сделать еще один запрос, но по какой-то причине моя коллекция favAgents пуста прямо сейчас!
IEnumerable<Agent> smallAgents = (from agt in favAgents
where agt.tempResultCount < 30
orderby agt.tempResultCount descending
select agt);
Что здесь происходит?
Является ли это проблемой ленивой загрузки LINQ?
Похоже, будет какой-то повторный запрос после того, как я установил все элементы = 0, потому что у меня моя коллекция пуста!
Какова связь между двумя запросами и почему она должна возвращать значение. Вы фильтруете свойство 'tempResultCount' во втором запросе, изменяя свойство' DefaultNr' в первом запросе. Вы говорите о LINQ to Objects (LINQ over in-memory collection) или какой-то инструмент O/RM (например, LINQ to SQL)? – Steven
Вы уверены, что это пустая коллекция, а не только, что ничто не соответствует критериям вашего второго запроса? – Paolo