.NET ресурсы в базе данных или в resx?
Локальное приложение.
В базе данных можно к ресурсам атрибуты приписать (таблицу создать для каждого типа), потом запросы делать по атрибутам. Но сложно - надо всё это делать, возиться.
В resx никакие атрибуты задать нельзя, есть лишь имя ресурса, его значение (строка, картинка и т.д.) и комментарий. Но просто, потому что вся инфраструктура уже встроена - достаточно добавить resx файл и легко потом из него доставать данные, не создавая подключение к БД (пусть даже локальной).
Например, хочу хранить локализованные строки. По концу имени файла определяется локаль:
Менеджер ресурсов сразу достаёт из нужного файла, основываясь на текущей культуре запущенного приложения:
var rm = new System.Resources.ResourceManager(resourceType);
rm.GetString(resourceName);
GetString returns the value of the resource localized for the caller's current UI culture, or null if name cannot be found in a resource set.
Культуру можно принудительно переключить при запуске:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Кто как обычно делает? Вообще, это нормальная практика хранить в resx много больших картинок, или считается устаревшим, и сейчас всё через БД делается?