Comment éviter le cache ou la concurrence dans l'ORM d'accès aux données Telerik ?
-
02-01-2020 - |
Question
Maintenant, je veux calculer la concentration moyenne de pm2,5 ces jours-ci dans chaque ville via une procédure stockée. Le premier paramètre d'entrée de la procédure stockée est une chaîne de nom de ville comme Beijing,NewYork
, et les autres paramètres d'entrée sont beginTime
et endTime
.Et la classe de sortie s’appelle AvgPM25.
public class AvgPM25{
public String CityName{get;set;}
public decimal AvgValue{get;set;}
}
Je passe des paramètres comme Beijing,NewYork
,20140801
,20140802
, il calcule et affiche le résultat. Maintenant, mon problème est que parfois j'essaie de modifier les paramètres comme le temps de recherche, et les paramètres d'entrée sont comme Beijing,NewYork
,20130801
,20140802
, mais il affiche toujours le résultat qui est le résultat de la recherche précédente. Ce problème est-il dû au cache ou à la concurrence ? J'essaie de définir l'identité de « CityName » du AvgPM25
propriété de classe sur True, définissez la politique de cache sur NoCache et définissez le mode de concurrence sur Changed, mais vous rencontrez toujours ce problème ? Comment le résoudre ?
La solution
Bien que vous modifiiez l'heure de recherche, l'identité n'est pas modifiée. Modifier la classe de sortie ci-dessous peut vous aider. Vous pouvez également essayer de définir l'identité du AvgPM25
la propriété de classe est-elle vraie ?
public class AvgPM25{
//identity:true,cache:default
public String CityName{get;set;}
public decimal AvgValue{get;set;}
//identity:true,cache:default,conbined with the two strings,like '2013080120140802'
public string SearchTIme{get;set;}
}