Повторно используемый ObjectContext или новый ObjectContext для каждого набора операций?

Я новичок в Entity Framework, и я только начинаю играть с ним в свое свободное время. Один из основных вопросов, которые у меня есть, касается того, как обрабатывать ObjectContexts.

Что обычно является предпочтительным / рекомендуемым из них:

это

public class DataAccess{

    MyDbContext m_Context;

    public DataAccess(){
        m_Context = new MyDbContext();        
    }

    public IEnumerable GetSomeItems(){
        return m_Context.SomeItems;
    }

    public void DeleteSomeItem(SomeItem item){
        m_Context.DeleteObject(item);
        m_Context.SaveChanges();
    }
}

Или это?

public class DataAccess{

    public DataAccess(){ }

    public IEnumerable GetSomeItems(){
        MyDbContext context = new DbContext();
        return context.SomeItems;
    }

    public void DeleteSomeItem(SomeItem item){
        MyDbContext context = new DbContext();
        context.DeleteObject(item);
        context.SaveChanges();
    }
}

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

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