0

リクエストを介してコントローラーのアクションに渡す変数IDを使用するか、同じリクエストを介して一度渡した同じIDを使用して取得したモデルのIdFooを使用する場合、それが重いか悪い習慣かを知る必要があります。

C# と Entity Framework で ASP.NET MVC4 を使用していて、モデルの主キーとしてIdFooを宣言するデータ注釈を含むこのモデルがあるとします。

public class Foo
{
    [Key]
    public int IdFoo { get; set; }
}

私のFooControllerでは、Editアクションで IdFoo を取得する必要がありますが、ルート経由で渡しているid変数と同じです。

public class Foo
{
    [HttpGet]
    public ActionResult Create(int id = 0)
    {
        var Foo = db.Foo.Find(id);

        // Other operations.

        var Bar = Foo.IdFoo;

        var Qux = id;

        // Bar = Qux

        ...

        return View(Foo);
    }
}

コントローラーコードの残りのリクエストを介して渡しているid変数を引き続き使用することは、良い習慣/パフォーマンスの低下ですか?それとも Foo.IdFooを使用する必要がありますか? Foo.IdFoo と id は常に同じ値を持つことに注意してください。したがって、両方を使用できることがわかっています。どちらかを使用することを正当化するための優れたプラクティスまたはパフォーマンス上の理由を探しているだけです。

4

2 に答える 2

0

すべきではないことをしていない限りIdFoo、パフォーマンスの観点からは何の違いもありません。

マイクロ最適化の観点からは、オブジェクトから変数を取得するよりも、既にコンテキスト内にある変数を使用する方が技術的に高速になると思います。Fooしかし、それは本当に分割された髪の毛であり、その理論を証明するためのベンチマーク統計はありません.

于 2013-10-30T13:17:51.363 に答える