Это нормально для одного потока; но у вас будут проблемы, если это произойдет в ситуации, когда вы получите многопоточные.
РЕДАКТИРОВАТЬ: Threadsafing:
Простой шаблон Threadsafe:
private readonly object _objectLock = new object();
private List<T> _someList = null;
public List<T> MyStuff
{
get
{
if(_someList == null)
{
lock(_objectLock)
{
if(_someList == null)
_someList = LoadFromDB();
}
}
return _someList;
}
}
Вы проверяете, установлено ли, затем блокируете, затем снова проверяете, чтобы убедиться, что вы прошли гонку.