title: C#: Internal file database in application
body: <p>I am currently working on an Paint-like WPF application and now stand before the problem how I enable my users to save the created images. Normally I would just save them to disk but in this application I have the requirement to later enable the user to create bigger "images" out of the already created ones. This would still be no problem with a normal filesystem approach but the user should also be able to search images by specific properties like categories/tags etc. and that would be difficult with a normal filesystem approach. </p>
  
  <p>So I thought of some options I have for realizing what I want and now would like to know what you think of the approaches or if you even know a better one. The approaches are:</p>
  
  <ul>
  <li>Saving images in an internal database of the application (via SQLite or something similar)</li>
  <li>Saving images as normal files in the filesystem and keep an database in the application to reference these images (what happens if images were deleted by the user?)</li>
  <li>Saving images as normal files in the filesystem without extra database in the app (hard to filter them by category etc.)</li>
  </ul>
  
  <p>Thanks!</p>