Если к вашим данным нужно получить доступ с нескольких страниц, что, вероятно, имеет место, вы можете хранить их в статическом поле (на самом деле, используя словарь), поэтому их необходимо загрузить один раз для всего приложения (против одного пользователя ).
Здесь инкапсулировано в синглтоне:
public class Globals
{
private Context _current;
private Dictionary<int, string> _dbValues;
public Dictionary<int, string> DbValues
{
get
{
if (_dbValues == Null)
{
// ... Load our data here
}
return _dbValues;
}
set
{
}
public Globals Current
{
get
{
if(_current == Null)
_current = Context();
return _current;
}
}
private Globals()
{ }
}
// Can be used this way
var value = Globals.Current.DbValues[key1];