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

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

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

This

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

Or this?

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

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

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