Кэширование DbContext

Я знаю, что кэширование DbContext не очень хорошая идея. Но я хотел бы сделать это хорошо. Что вы думаете об этом пути?

public class Context : DbContext
{
    private Context()
    {
    }

    private static WeakReference<Context> _cachedContext;

    public Context Instance
    {
        get
        {
            Context context;
            if (!_cachedContext.TryGetTarget(out context))
            {
                context = new Context();
                _cachedContext.SetTarget(context);
            }
            return context;
        }
    }
}

Этот код планируется использовать без IDisposable.Dispose вызова на стороне клиента. Какие проблемы это может вызвать, кроме одноэлементного (анти) паттерна? Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос