Quando si dovrebbe chiamare DbContext.dispose() con l'entity framework?Entity Framework e context dispose
È questo metodo immaginario male?
public static string GetName(string userId) { var context = new DomainDbContext(); var userName = context.UserNameItems.FirstOrDefault(x => x.UserId == userId); context.Dispose(); return userName; }
è meglio?
public static string GetName(string userId) { string userName; using(var context = new DomainDbContext()) { userName = context.UserNameItems.FirstOrDefault(x => x.UserId == userId); context.Dispose(); } return userName; }
È questo ancora migliore, cioè, si dovrebbe chiamare NON context.Dispose() Quando si utilizzava()?
public static string GetName(string userId) { string userName; using(var context = new DomainDbContext()) { userName = context.UserNameItems.FirstOrDefault(x => x.UserId == userId); } return userName; }
_should one NOT call context.Dispose() quando si utilizza using() _ è sempre true. È ridondante. –
Grazie per il tuo commento. Quindi context.Dispose() è ridondante, rimuoverlo non avrà alcun effetto? – Sindre
'using' è un implicito' Dispose() ' –