将文件类型图标保存在DATABASE或XML文件中

我正在使用c#,wpf和mvvm。

在我的datagrid中,每一行在最后一个单元格中都有一个ListBox,其中包含与此行相关的文档,我称之为句点。

用户可以向每个时段添加文档。

我想为每个文档显示文件类型图标(16×16)和文档名称。

文件类型图标让我有点头疼。

我不确定我是否应该在数据库中保存每个文件类型图标,如.DOC,因为一天可能有10个周期,每个都有2个.DOC文件,因此我在数据库中保存了20个图标,这些图标是19倍冗余…

我的用户将附加的大多数东西都是Office文件类型,如.xls,.doc,.pdf,images,zip / rar,我想这就是它。

另一个技术上更高级的是将唯一文件类型图标保存为XML文件中的编码base-64字符串,文件类型扩展名为键/值对。

在应用程序启动时,xml一次在字典中加载一次

         

每次文档进入数据库时​​,我都会检查文件名中的文件扩展名并检索字典以获取该文件的base64字符串。 我仍然可以以某种方式为文件类型base64字符串实现一个缓存机制,所以每次我得到.doc文件时我都不解码它们…

也许你有一个完全不同/更好的? 想法,请让我知道或建议数据库/ xml保存的优点/ disadvantes 🙂

始终避免在数据库中保留二进制映像 查询和转换是头脑。 这个特定选项的最佳方法是将所有ur pics保存为resourcess并将资源名称保存到数据库中。你可以通过保留资源名称的枚举并解析onrowdatabound上的(eNUM.PARSE)名称来实现源绑定到数据网格行的单元格模板。 单元格可以包含图像作为模板内容。

如果您的文件类型很少且文件数量很多,那么将文件类型存储为file_type_master类型的数据库或XML文件,并在任何地方使用它时加载一次都会更好。 但是在装载和使用方面存在良好的折衷时,它仍然很好。 否则你也可以做一些缓存。