Посоветуйте, пожалуйста, пример приложения с использованием Entity Framework, которое работает с базой данных, которую нельзя загрузить в память полностью. Все примеры, которые я нашел делают выборку в список, и это список привязывают к гриду. Субъективно кажется, что на очень больших данных это работать не будет.
Ef6 или Core не важно. Если еще будет и веб прослойка, то вообще супер...
Здравствуйте, Владимир35, Вы писали:
В>Посоветуйте, пожалуйста, пример приложения с использованием Entity Framework, которое работает с базой данных, которую нельзя загрузить в память полностью. Все примеры, которые я нашел делают выборку в список, и это список привязывают к гриду. Субъективно кажется, что на очень больших данных это работать не будет.
Выбирать то нужно не всю бд, а только то что нужно. А там где данных много делаем постраничный вывод.
Здравствуйте, Владимир35, Вы писали:
В>...список, и это список привязывают к гриду. Субъективно кажется, что на очень больших данных это работать не будет.
А зачем человеку "большие данные"? Тупо потренироваться на клавише PgDn? Если исходные данные — большие, 146%, что вам они не нужны — вам нужна разумного размера выборка, которую человек может обозреть за 10 секунд. Или того проще — вообще какой-нть график (ведь не обязательно скачивать все счета, чтобы увидеть максимальную сумму?).
Спасибо за пример. Это часть того, что нужно. Теперь вопрос как на клиете сделать виртуальный список, собирающийся из страничек, который можно прикрутить к стандартным элементам управления, на пример WPF? Как выгружать уже "не нужное"?
K>А зачем человеку "большие данные"? Тупо потренироваться на клавише PgDn? Если исходные данные — большие, 146%, что вам они не нужны — вам нужна разумного размера выборка, которую человек может обозреть за 10 секунд. Или того проще — вообще какой-нть график (ведь не обязательно скачивать все счета, чтобы увидеть максимальную сумму?).
Согласен, что все данные одновременно человеку не нужны. Мне нужна реализация таблицы с возможность быстро перемещать текущее "окно" с помощью скролбара по огромному списку из БД.
Здравствуйте, Владимир35, Вы писали:
В>Спасибо за пример. Это часть того, что нужно. Теперь вопрос как на клиете сделать виртуальный список, собирающийся из страничек, который можно прикрутить к стандартным элементам управления, на пример WPF? Как выгружать уже "не нужное"?
Вы хотите из вебсервиса отображать данные в гриде WPF? Если так, то проще всего загружать 1000-50000 записей. Нужны следующие — эти очистили и подгрузили с сервера следующие.
Ищите в гуле пример по "WPF DataGrid Paging"
Здравствуйте, Владимир35, Вы писали:
В>Согласен, что все данные одновременно человеку не нужны. Мне нужна реализация таблицы с возможность быстро перемещать текущее "окно" с помощью скролбара по огромному списку из БД.
так вы никогда не сможете сделать!
всегда делают выборку уменьшенного размера и ее в грид который по ней елозит еще меньшим окном
при достижении нижней границы вы должны сделать еще одну большую выборку и все по новой.
Здравствуйте, paradoks, Вы писали:
В>>Согласен, что все данные одновременно человеку не нужны. Мне нужна реализация таблицы с возможность быстро перемещать текущее "окно" с помощью скролбара по огромному списку из БД.
При перемещении скроллбара можно посчитать на какую строку в огромном списке он указывает, загрузить из БД нужную часть данных и отобразить ее в видимом окне.
Здравствуйте, Буравчик, Вы писали:
Б>Здравствуйте, paradoks, Вы писали:
В>>>Согласен, что все данные одновременно человеку не нужны. Мне нужна реализация таблицы с возможность быстро перемещать текущее "окно" с помощью скролбара по огромному списку из БД.
Б>При перемещении скроллбара можно посчитать на какую строку в огромном списке он указывает, загрузить из БД нужную часть данных и отобразить ее в видимом окне.
Нужно примерно такое решение — у меня есть на c++/COM. А нет ли примеров с#/wpf с mvvm?
BE>Вы хотите из вебсервиса отображать данные в гриде WPF? Если так, то проще всего загружать 1000-50000 записей. Нужны следующие — эти очистили и подгрузили с сервера следующие. BE>Ищите в гуле пример по "WPF DataGrid Paging"
А можно как то сервис, предоставляющий "страницы", подцепить к DataGrid, так чтобы ползователь не видел страниц вообще?
Здравствуйте, Владимир35, Вы писали:
В>Посоветуйте, пожалуйста, пример приложения с использованием Entity Framework, которое работает с базой данных, которую нельзя загрузить в память полностью. Все примеры, которые я нашел делают выборку в список, и это список привязывают к гриду. Субъективно кажется, что на очень больших данных это работать не будет.
В>Ef6 или Core не важно. Если еще будет и веб прослойка, то вообще супер...
В>А может быть всё надо делать не так?
ВE>> А там где данных много делаем постраничный вывод. BE>>Вот не плохой пример
В>Спасибо за пример. Это часть того, что нужно. Теперь вопрос как на клиете сделать виртуальный список, собирающийся из страничек, который можно прикрутить к стандартным элементам управления, на пример WPF? Как выгружать уже "не нужное"?
многие датагриды сами поддерживают виртуализацию на уровне UI, т.е. как ушло из видимой области — так все лишнее выбрасывают.
Даже стандартный DataGrid это умеет не лучший пример, но иллюстрирует
Коммерческие гриды могут быть попродвинутей, у некоторых вендоров есть решения и для виртуализации данных