public TContext Create() { if (!_cacheStorage.ContainsKey(_dataContextKey)) { var context = CreateContext(); _cacheStorage.Store(_dataContextKey, context); } return(_cacheStorage.Retrieve <TContext>(_dataContextKey)); }