Obecnie pracuję nad podobną do Paint aplikacją WPF, a teraz stoję przed problemem, w jaki sposób umożliwiam moim użytkownikom zapisywanie utworzonych obrazów. Normalnie po prostu zapisałbym je na dysku, ale w tej aplikacji mam obowiązek późniejszego umożliwienia użytkownikowi tworzenia większych "obrazów" z już utworzonych. W normalnym systemie plików nadal nie byłoby problemu, ale użytkownik powinien również móc wyszukiwać obrazy według określonych właściwości, takich jak kategorie/znaczniki itp., Co byłoby trudne przy normalnym podejściu do systemu plików.C#: Wewnętrzna baza danych plików w aplikacji
Pomyślałem więc o niektórych opcjach, które mam, aby zrealizować to, czego chcę, a teraz chciałbym wiedzieć, co myślisz o podejściu lub jeśli znasz nawet lepszy. Podejścia są:
- Zapisywanie obrazów w wewnętrznej bazie danych aplikacji (poprzez SQLite lub coś podobnego)
- zapisywania obrazów jak normalne pliki w systemie plików i mieć bazę danych w aplikacji na odniesienie tych obrazów (co się stanie, jeśli zdjęcia zostały usunięte przez użytkownika?)
- obrazów zapisywanie jako normalnych plików w systemie plików bez dodatkowej bazy danych w aplikacji (trudno filtrować je według kategorii etc.)
Dzięki!
FileSystemWatcher ma pewne ograniczenia, gdy duża liczba plików jest dodawana/usuwana w tym samym czasie, ale jeśli tylko jeden lub dwa pliki są dodawane/usuwane w tym samym czasie, powinno być OK. – ChrisF