4 / 4 / 5
Регистрация: 12.08.2010
Сообщений: 279
|
|
1 | |
Получение данных из БД: в чем разница между Iqueryable и List05.10.2012, 15:43. Показов 3601. Ответов 2
Метки нет (Все метки)
0
|
05.10.2012, 15:43 | |
Ответы с готовыми решениями:
2
В чем разница между массивом строк и List<string>? В чем разница между типами данных Integer и Long? (Siemens_Step7) В чём разница между глобальными и экземплярными блоками данных Разница между list и vector? |
519 / 511 / 68
Регистрация: 19.09.2011
Сообщений: 826
|
|
05.10.2012, 16:37 | 2 |
List - коллекция, IQueryable - интерфейс который в момент запроса данных обратится к источнику база/коллекция/etc
разница - list - заполняется 1 раз, изменение исходной коллекции на него не повлеяют IQueryable - будет выполняться каждый раз когда к нему будет идти обращение к данным (foreach, все фции linq которые возвращают не IQueryable такие как First/FirstOrDefault/Count/etc). Вывод - все зависит от конкретной ситуации и коллекции
2
|
CEO
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
|
|
07.10.2012, 00:42 | 3 |
y-fox, Nter, ну еще можно добавить что выражения и обращения к IQuerable обычно транслируются в зависимый от поставщика формат (provider-related), например в случае с L2S и классом Table<T> (который реализует IQuerable) вызовы транслируються в SQL. Если выполнить превращение источника в List<T> (например вызовом метода ToList()), то источник "зафиксируеться" и будет размещен полностью в памяти (представьте что будет если мы таким макаром обратимся к таблице с 1кк записей).
Посему максимально долго сколько можем передаем IQuerable<T> при работе с внешними источниками данных (он реализует IEnumerable<T> и может быть к нему упакован, трансляция в специфичный формат все равно будет работать за счет метаданных) и только в случае когда нужно программно обработать результат выборки и вывести в отображение (view) - фиксируем вызовом ToList(). Передавать IQuerable<T> в View/PartialView не советую.
1
|
07.10.2012, 00:42 | |
07.10.2012, 00:42 | |
Помогаю со студенческими работами здесь
3
Разница между list и dic Разница между list и vector В чем разница создания List в первом и во втором случае? Как преобразовать результат запроса в IQueryable в List? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |