Je suis nouveau dans Entities Framework, et je commence juste à jouer avec ça dans mon temps libre. L'une de mes principales questions concerne la gestion des ObjectContexts.ObjectContext réutilisable ou nouveau ObjectContext pour chaque ensemble d'opérations?
qui est généralement préféré/recommandé de ceux-ci:
Ce
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 cela?
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();
}
}
Assez lié à http://stackoverflow.com/questions/1072391/with-linq-do-you-create-a-single-dbcontext-per-request-like-nhibernate-requires – shahkalpesh
Et cela ... http : //stackoverflow.com/questions/226127/ Bien que la discussion soit Linq2Sql, la même chose s'applique. – spender