J'en fais un wiki communautaire, car j'apprécierais l'approche des gens et pas nécessairement une réponse.Enums ou Tables?
Je suis dans la situation où j'ai beaucoup de champs de données de type recherche, qui ne changent pas. Un exemple serait:
Salaire annuel
Option: 0 - 25K
Option: 25K - 100K
Option: 100K +
Je voudrais avoir ces options facilement disponibles par le biais d'une énumération, mais aimerait également les valeurs textuelles disponibles dans la base de données, car je ferai des rapports sur les valeurs textuelles et non sur un identifiant. En outre, comme ils sont statiques, je ne veux pas faire d'appels à la base de données.
Je songeais à reproduire cela dans une énumération et une table, mais j'aimerais entendre d'autres pensées.
Merci
C'était un exemple, il ne changera pas. J'aime votre approche de toute façon, comment voulez-vous persister les données tout au long de l'application. Y aura-t-il des problèmes de performance étant donné que les données ne sont pas nécessaires pour 99% de l'application? –
Si ces données sont rarement accessibles, vous pouvez simplement les conserver dans une classe statique qui est initialisée la première fois que vous demandez les données (initialisation paresseuse). Assurez-vous simplement que les verrous sont en place afin qu'un seul thread puisse accéder à ces données à la fois. Cela permettra d'éliminer les ralentissements de démarrage. Si vous ne voulez pas attendre la première fois que vous accédez aux données, vous pouvez également ajouter les données à une file d'attente de travail de priorité basse pour être chargées lorsqu'elles sont inactives pendant un moment ou deux (ou chargées immédiatement si nécessaire) – Eclipse
Si cela ne change vraiment pas et que vous n'avez pas de base de données, vous pouvez simplement l'enregistrer dans votre fichier app.config dans une section personnalisée. –