Ponowne użycie ObjectContext lub nowego ObjectContext dla każdego zestawu operacji?

Jestem nowicjuszem w Entities Framework i właśnie zaczynam się nim bawić w wolnym czasie. Jedno z głównych pytań, jakie mam, dotyczy sposobu obsługi obiektów ObjectContexts.

Który jest ogólnie preferowany / zalecany spośród tych:

To

public class DataAccess{

    MyDbContext m_Context;

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

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

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

Albo to?

public class DataAccess{

    public DataAccess(){ }

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

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

questionAnswers(4)

yourAnswerToTheQuestion