Keine Notwendigkeit zu entsorgen DataContext - /ObjectContext-in EF?

Albahari schreibt in "c# 4.0 in a nutshell":

>
Obwohl DataContext - /ObjectContext IDisposable implementieren, können Sie (im Allgemeinen)
Weg, ohne Entsorgung Instanzen. Entsorgung zwingt den Kontext der Verbindung
entsorgen—aber dies ist in der Regel unnötig, da L2S und EF-verbindungen schließen
automatisch, wenn Sie fertig Abruf der Ergebnisse aus einer Abfrage
<<

Dieser fühlt sich falsch an und FxCop auch beschwert, wenn Sie nicht diposing etwas, das IDisposable.

Habe ich die folgenden repository-code:

    public abstract class Repository<TEntity> : IRepository<TEntity> where TEntity : class
    { ...
        public void Add(TEntity entity)
    {
        using (var dbContext = this.UnityContainer.Resolve<DbContext>())
        {
            dbContext.Set<TEntity>().Add(entity);
            dbContext.SaveChanges();
        }
    }

    ...

    public virtual IEnumerable<TEntity> Find(Expression<Func<TEntity, bool>> expression)
    {
       using (var dbContext = this.UnityContainer.Resolve<DbContext>())
       {
           return dbContext.Set<TEntity>().Where(expression).ToList().AsEnumerable();
       }
    }
    ...

Hinweis: ich nicht zurück, das IQueryable - lazy loading sollten Sie nicht eine Rolle spielen.
Beheben DbContext ist so konfiguriert, wie PerResolveLifetimeManager.

Ist dieser Ansatz OK, oder muss ich das überdenken dieser basiert auf Albaharis Beschreibung?

Schreibe einen Kommentar