SQL Server 2008 dbにOrdersというテーブルを作成しました。このテーブルには、dateCreated型のDate、CustomerId、InvoiceTypeId、InvoiceIdなどの列があります。また、Invoice、CustomerおよびInvoiceTypeテーブルもあります。MVC3およびADO.NETエンティティデータモデルを使用したデータのフィルタリング
私は私がに興味があるだけでいくつかの列を選択し、私は一緒にすべてのこれらのテーブルを結合私のデータベースでビューを作成しました。私は、ADO.NETを作成した私のMVC3のVisual Studioプロジェクトで
dbビューを表すエンティティデータモデル。私は非常に単純なコントローラを作成しました。最後に、私はWebGridを使って私の注文を表示するかみそりビューを作成しました。それはうまく動作します。
これは妥当なアプローチですか?
WebGridの内容をフィルタリングするために使用できる開始日と終了日を追加する機能を私のカミソリのページに追加したいとしたらどうすればよいでしょうか?
私はこれを行う2つの方法があると思います。
すべてのデータをdbビューからエンティティモデルにロードします。その後、おそらく剃刀コードにフィルタリングコードが追加されます。すべてのデータが既にモデルに入っているため、フィルタが変更されるたびにdbを読み込む必要はありません。
は、デシベルビューにいくつかの余分なSQLコードを追加します(@StartDateと@EndDate BETWEEN dateCreated)WHEREのようなものと、モデルはデシベルから私たちは、フィルタを変更するたびに読みました。 Ordersテーブルに大量のレコードがあり、通常はおそらく最後の1週間または数日しか表示しない場合、これは良いことです。これはMVC3のアプローチで可能ですか?どのようにそれを行うことができますか?