0

より速いのは何ですか? DBからQueryBuyに問い合わせた情報を保存し、Viewにアクセスして表示するか、Viewで直接クエリを作成する必要があります。 コントローラはMVCの中間層ですので、コントローラのDBにアクセスする方が高速になるはずです。私はDBにアクセスし、私はビューに表示できるようにViewBagに情報を入れコントローラーでMVC ViewBag:ビューの直接アクセスよりも、ViewBagのControllerでのDBへのアクセスが速くなります。

1)

例。

コントローラ:私はViewBagにのみDBからの一般的なデータを入れコントローラ内

<p>POSTER: @ViewBag.dict_poster;</p> 

2)及びビューでそのアクセスこれ:

EVENT e = db.EVENT.Find(id); 
ViewBag.event = e; 

if (e.poster_id != null) 
{ 
    poster = e.DATA.path; 
} 
ViewBag.dict_poster = poster; 

図。

コントローラ:

EVENT e = db.EVENT.Find(id); 
ViewBag.event = e; 

ビュー:

<p> 
    @if(ViewBag.event.poster_id != null) 
    { 
     @ViewBag.event.DATA.path; 
    } 
</p> 
  • より良く、使用する方が適切ですか?より速いのは何ですか?
  • 私は非常に枝分かれしたDBを持っていて、 "ViewBag.e"にすべてを格納しなければならないのですが、ViewBagsに個々の値を格納してビューにアクセスするよりも速くなるか、
  • リストはどうですか?私はあなたの答えに感謝

を(ViewBagにし、ビューでそれにアクセスするよりも、それを入れ、リストにDBの情報を格納する)と説明を追加しました....

答えて

2

あなたはアクセスするべきではありませんあなたのデータレイヤーを直接ビューから見るには、これをコントローラで行う必要があります。また、ViewBagを使用するのではなく、厳密に型指定されたビューモデルをビューに渡すことを検討してください。

MVCでビューモデルを使用する理由から、http://theminimalistdeveloper.com/2010/08/21/why-when-and-how-to-use-typed-views-and-viewmodel-pattern-in-asp-net-mvc/を参照してください。

+0

ありがとうございます。強く型付けされたビューモデルは速度に何らかの影響を与えますか?「intelisense」サポートと概要のためだけに良いのでしょうか? – Dominik

+0

速度には違いはありません。 ViewData/ViewBagを使用する際の問題は、メンテナンスを妨げる「マジックストリング」の問題です。詳細はリンクを参照してください。 – devdigital

+0

もう一度ありがとうございます:D – Dominik

関連する問題