Я использую c #, wpf и mvvm.
В моей таблице данных каждая строка имеет в последней ячейке ListBox с документами, относящимися к этой строке, которые я называю точкой.
Пользовательможете добавлять документы в каждый период.
Я хочу отобразить для каждого документа значок типа файла (16x16) и имя документа.
Значок типа файла вызывает у меня небольшую головную боль.
Я не уверен, стоит ли мне сохранять каждый значок типа файла документов, например .DOC, в базе данных, потому что в день, возможно, входит 10 периодов, каждый из которых имеет 2 прикрепленных файла .DOC, таким образом, я сохраняю 20 значков в базе данных, которые избыточны в 19 раз ...
Большинство вещей, которые будет прикреплять мой пользователь, это типы файлов Office, такие как .xls, .doc, .pdf, изображения, zip / rar, вот и все.
Еще один, но технически более продвинутый способ - этосохранить значок уникального типа файла в виде закодированной строки base-64 в файле XML с расширением типа файла в виде пары ключ / значение.
XML загружается один раз в словарь один раз при запуске приложения
<FileTypes>
<Extension ext="doc" base64string="ff5598sdfusd98fjs9df98sd9f" />
<Extension ext="docx" base64string="ff5498sdfusd98fjs9df98sd9f" />
<Extension ext="xls" base64string="ff9548sdfdsfdfusd98fjs9df98sd9f" />
<Extension ext="xlsx" base64string="ff98sfdfddfusd98fjs9df98sd9f" />
<Extension ext="pdf" base64string="ff98fdfdsdfusd98fjs9df98sd9f" />
<Extension ext="zip" base64string="ff98dfdfsdfusd98fjs9df98sd9f" />
<Extension ext="rar" base64string="fffdf98sdfusd98fjs9df98sd9f" />
</FileTypes>
Каждый раз, когда документ попадает в базу данных, я проверяю расширение файла в имени файла и извлекаю словарь, чтобы получить строку base64 для файла.Я все еще мог бы как-то реализовать механизм кэширования для строки типа файла base64, чтобы я не декодировал их каждый раз, когда получаю файл .doc ...
Может быть, у вас совсем другое / лучше?идея, пожалуйста, дайте мне знать или сделать предложения о преимуществах / недостатках сохранения базы данных / xml:)