Я знаю, что могу просматривать файлы, когда они существуют, с помощью FileDialog. Я отслеживаю изменения, сделанные в каталоге, и каждый раз, когда происходит изменение, я сохраняю этот файл в базе данных. Я записываю путь к файлу, дату изменения, дату, введенную в базу данных, и идентификатор файла для идентификации каждого файла.
Итак, моя база данных содержит большой список файлов (около 50000). Когда я просматриваю файл, я помещаю этот список файлов в просмотр списка. Если я хочу восстановить файл, мне нужно просмотреть этот список, что не сложно, потому что я добавил функцию поиска для фильтрации результатов.
Но я бы хотел, чтобы пользователь мог просматривать файл так же, как вы это делаете в Windows. Другими словами, вам придется дважды щелкнуть папку в списке, чтобы увидеть ее содержимое. Мне удалось сделать это, создав событие, при котором при двойном щелчке по папке в представлении списка будут просто отображаться файлы, родительский каталог которых является тем, который был дважды нажат. Другими словами, дважды щелкнув папку, вы увидите содержимое этого каталога. Единственная проблема с этой техникой в том, что она медленная. Каждый раз, когда двойной щелчок на папке, это занимает около 2 секунд. В начале это быстро, но имеет тенденцию замедляться. Было бы хорошо, если бы я мог ускорить этот процесс. Я отсортировал файлы, чтобы ускорить этот процесс и создать цикл вместо запроса, но это все еще требует времени.
Или, может быть, мне нужно изменить базу данных, чтобы ускорить этот процесс. Поскольку я отслеживаю множество изменений, я бы хотел, чтобы база данных была как можно меньше. Но если мне нужно добавить несколько столбцов, чтобы это сработало, я изменю это.