powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ2SQL: когда дочерних строк слишком много
4 сообщений из 4, страница 1 из 1
LINQ2SQL: когда дочерних строк слишком много
    #36742358
horgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вопрос...

LINQ2SQL предоставляет средство доступа к дочерним строкам в виде свойства сущностного класа типа
Код: plaintext
EntitySet<TEntity> : IList, ICollection, IList<TEntity>, ICollection<TEntity>, IEnumerable<TEntity>, IEnumerable, IListSource where TEntity : class
которое при обращении к нему в коде (рассматриваем отложенную загрузку по умолчанию) возвращает последовательность всех дочерних строк.

В ситуации, когда строк достаточно много, выполнение запроса на выборку всех дочерних строк нецелесообразно. Хотелось бы отсортировать их и выбрать, скажем, n строк, начиная с i-ой...при этом, чтобы все операции выполнились на стороне СУБД...А как это сделать через этот самый EntitySet не понятно.
На сколько я понял, так как EntitySet<> не реализует IQueryable<>, любые LINQ запросы выполняются уже на последовательности данных, возвращенных СУБД...а как модифицировать запрос к СУБД, который генерится для получения дочерних строк не ясно...
...
Рейтинг: 0 / 0
LINQ2SQL: когда дочерних строк слишком много
    #36744362
horgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну, или немного другая задача....как получить поведение подобное DataReader'у, при котором строки возвращаются БД по мере обращения к ним...хотя, если невозможно их при этом так или иначе отсортировать, то удобство сомнительное....

В литературе по LINQ все говорится о том, как изменить отложенную загрузку на немедленную, а здесь, получается, наоборот...
...
Рейтинг: 0 / 0
LINQ2SQL: когда дочерних строк слишком много
    #36745053
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что мешает использовать IQueryable?
...
Рейтинг: 0 / 0
LINQ2SQL: когда дочерних строк слишком много
    #36747413
horgh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pationа что мешает использовать IQueryable?
HorghНа сколько я понял, так как EntitySet<> не реализует IQueryable<>, любые LINQ запросы выполняются уже на последовательности данных, возвращенных СУБД...

Конечно, можно писать запрос типа выборки из таблицы, содержащей дочерние строки с where по внешнему ключу, однако ж фишка LINQ2SQL в том, что этого вручную делать не нужно, что уже есть свойство, ссылающееся на все дочерние строки. LINQ сам для нас генерит такой запрос и возвращает эти строки...но вот это свойство имеет тип EntitySet, который не реализует IQueryable...поэтому как модифицировать запрос, который выполняется для выборки (я, во всяком случае) не понимаю...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / LINQ2SQL: когда дочерних строк слишком много
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]