0

EF4.1でMvcScaffoldingを使用すると、コントローラーの最初に生成された行は、通常、次のフィールド定義であることがわかります。

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

ここで、BarContextは次のとおりです。

 public class BarContext : System.Data.Entity.DbContext

System.Data.Entity.DbContextを実装していることを考えると、破棄を処理する可能性のあるメソッドIDisposableに対して生成されたオーバーライドが見つからないことに驚いています。FooControllerDispose(bool)context

これはテンプレートの見落としですか、それともこれを問題にしない何かが欠けていますか?

4

1 に答える 1

2

いいえ、何も見逃していません。このEFチュートリアルで説明されているように、Disposeをオーバーライドする必要があります: 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パッケージがそれを行わない場合、それは見落としです。

于 2011-12-06T21:53:25.080 に答える