Reutilizável ObjectContext ou novo ObjectContext para cada conjunto de operações?

Sou novo no Entities Framework e estou apenas começando a brincar com ele no meu tempo livre. Uma das principais questões que tenho é sobre como lidar com ObjectContexts.

Qual é geralmente preferido / recomendado destes:

este

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

Ou isto?

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