Ich bin neu im Entities Framework und fange gerade damit an, in meiner Freizeit damit herumzuspielen. Eine der wichtigsten Fragen, die ich habe, betrifft die Handhabung von ObjectContexts.Wiederverwendbarer ObjectContext oder neuer ObjectContext für jeden Satz von Operationen?
die allgemein bevorzugt/empfohlen davon ist:
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 das?
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();
}
}
Etwas verwandt mit http://stackoverflow.com/questions/1072391/with-linq-do-you-create-a-single-dbcontext-per-request-like-nhibernate-requires – shahkalpesh
Und das ... http : //stackoverflow.com/questions/226127/ Obwohl die Diskussion Linq2Sql ist, gilt das Gleiche. – spender