Wiederverwendbarer ObjectContext oder neuer ObjectContext für jede Gruppe von Operationen?

Ich bin neu im Entities Framework und fange gerade an, in meiner Freizeit damit herumzuspielen. Eine der wichtigsten Fragen, die ich habe, ist der Umgang mit ObjectContexts.

Welches ist in der Regel bevorzugt / empfohlen von diesen:

Diese

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();
    }
}

Oder dieses?

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();
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage