INotifyPropertyChanged : implémentation d'un string venant d'une requète EntityFrameWork
Bonjour,
dans un projet WPF j'utilise MVVM pour remplir un formulaire et SonarLint pour l'analyse du code, ainsi j'ai un modèle (ici en version simplifiée) qui contient ces variables :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| private int _caseNumber;
public int CaseNumber
{
get => _caseNumber;
set
{
_caseNumber = value;
OnPropertyChanged(nameof(CaseNumber));
}
}
private string _caseState;
public string CaseState
{
get => _caseState;
set { _caseState = value; OnPropertyChanged(nameof(CaseState)); }
} |
et une vue qui référence ces propriétés via des UserControl:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <ucs:TextBoxUc
x:Name="CaseNumberUC"
TextBoxEnabledState="False"
TextBoxEntitled="N° de Dossier"
TextBoxText="{Binding Path=CaseNumber, UpdateSourceTrigger=PropertyChanged}"
TextBoxWidth="80" />
<ucs:TextBoxUc
x:Name="CaseStateUC"
TextBoxEnabledState="False"
TextBoxText="{Binding Path=CaseState, UpdateSourceTrigger=PropertyChanged}"
TextBoxEntitled="Etat du Dossier"
TextBoxWidth="80" /> |
dans une classe appelée UTILITY j'ai cette requète qui utilise EntityFrameWork pour intéroger une base SQL :
Code:
1 2 3 4 5 6
| public static string CaseState(int caseNumber)
{
return (from a in dc.CASE_GENERAL_INFORMATIONS
where a.CGI_ID == caseNumber
select a.CGI_STATE).FirstOrDefault();
} |
Je souhaiterais que ma variable CaseState référence cette méthode du genre :
Code:
1 2 3 4 5 6 7 8 9
| private string _caseState;
public string CaseState
{
get
{
string i = Utility.CaseState(CaseNumber); return i;
}
set { _caseState = value; OnPropertyChanged(nameof(CaseState)); }
} |
mais cela ne fonctionne pas et SonarLint me dit de supprimer _caseState car sa valeur n'est jamais lu...
Auriez-vous une idée ??