MvcScaffolding создает доступные ресурсы, которые не утилизируются

Используя MvcScaffolding с EF4.1, я вижу, что первой сгенерированной строкой контроллера обычно является следующее определение поля:

public class FooController : Controller
{
    private BarContext context = new BarContext();
    //.....

где BarContext как следует:

 public class BarContext : System.Data.Entity.DbContext

При условии System.Data.Entity.DbContext инвентарь IDisposableЯ удивлен, что не нашел сгенерированного переопределения в FooController для Dispose(bool) метод, который может позаботиться об утилизации context,

Это упущение в шаблонах, или я что-то упускаю, что делает это не проблемой?

1 ответ

Решение

Нет, вы ничего не пропустили, вам нужно переопределить Dispose, как описано в этом руководстве EF: http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-application Встроенные леса в MVC 3 Tools Update генерируют переопределение (предварительные версии этого не делали, но выпущенная версия делает), как отмечено в учебнике. Если пакет NuGet MvcScaffolding этого не делает, это упущение.

Другие вопросы по тегам