MvcScaffolding создает доступные ресурсы, которые не утилизируются - PullRequest
0 голосов
/ 06 декабря 2011

Используя 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 Ответ

2 голосов
/ 07 декабря 2011

Нет, вы ничего не пропустили, вам нужно переопределить 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 этого не делает, это упущение.

...