Я новичок в Entities Framework, и я только начинаю играть с ним в свободное время. Один из основных вопросов, который у меня есть, - это то, как обращаться с ObjectContexts.Повторный объект ObjectContext или новый ObjectContext для каждого набора операций?
Что обычно предпочтительно/рекомендуется из них:
Этот
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();
}
}
Или это?
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();
}
}
Немного связано с http://stackoverflow.com/questions/1072391/with-linq-do-you-create-a-single-dbcontext-per-request-like-nhibernate-requires – shahkalpesh
И это ... http : //stackoverflow.com/questions/226127/ Хотя обсуждение Linq2Sql, то же самое относится. – spender