Quelle question maladroite, pensez-vous? Quand mon application se charge, elle va à la base de données et récupère plusieurs valeurs de tables de recherche différentes et crée des listes .NET pour chacune d'entre elles et les place dans le cache. Par exemple, "Statut".Comment puis-je empêcher le bloc de mise en cache de la bibliothèque d'entreprise de modifier de façon persistante les données que j'en ai extraites?
Liste à ce moment: On, Off
Lorsque je récupère la liste des états à partir du cache, ajouter un autre élément à la liste, « Faites votre choix » et l'ensemble comme le ItemsSource d'un Boîte combo. À aucun moment, je ne mets la nouvelle liste, contenant maintenant "Choisir un" en plus de la liste des statuts dans le cache.
List<ContractStatus> contractStatuses = (List<ContractStatus>)this._cacheManager["CurrentContractStatuses"];
ContractStatus contractStatus = new ContractStatus
{
ContractStatusDescription = "Choose One", ContractStatusId = 0
};
contractStatuses.Insert(0, contractStatus);
Liste à ce moment: Choisissez un, On, Off
Pourtant, si je vais à un autre écran et revenir, la routine de charge de l'écran tire la liste des statuts du cache, et Choisissez Un est déjà dans la liste. Ainsi, lorsque la routine ajoute: "Choisissez un" je le vent avec:
Choisissez un, Choisissez un, On, Off
Est-ce par la conception? Comment diable le dis-je?