Как уже упоминал Джон, доступ к свойствам, как ожидается, будет дешевым, то, что вы можете сделать тысячу раз без каких-либо побочных эффектов.
Я бы кешировал результат доступа к вашей базе данных и возвратил бы кешированный объект на любомзапрос.Т.е.
private IList<FindingStatus> _findingStatuses;
public IList<FindingStatus> FindingStatuses
{
get
{
if (_findingStatuses == null)
{
_findingStatuses = FindingStatusService.GetAvalableStatuses(CompanyId);
}
return _findingStatuses;
}
}
И тогда вам, конечно, придется очистить кеш перед тем, как поднять уведомление
public int CompanyId
{
get { return companyId; }
set
{
companyId = value;
_findingStatuses = null;
RaisePropentyChanged("FindingStatuses");
RaisePropentyChanged("StatusCount");
}
}