我在SQL Server 2008數據庫中創建了一個名爲Orders的表。此表的列包含dateCreated類型Date,CustomerId,InvoiceTypeId,InvoiceId等我也有發票,客戶和InvoiceType表。使用MVC3和ADO.NET實體數據模型過濾數據
我已經創建了我的數據庫查看,我所有這些表連接在一起,只選擇了幾列我感興趣的
在我MVC3 Visual Studio項目我已經創建了一個ADO.NET實體數據模型來表示數據庫視圖。我還創建了一個非常簡單的控制器。最後,我用WebGrid創建了一個剃鬚刀視圖來顯示我的訂單。它工作正常。
這是一種合理的方法嗎?
假設我現在想添加到我的剃鬚刀頁面添加可用於過濾WebGrid內容的開始日期和結束日期的功能,我該怎麼做?
我猜這樣做有兩種方法。
將所有數據從數據庫視圖加載到實體模型中。然後過濾代碼可能會添加在剃刀代碼中。由於所有數據都已存在於模型中,因此每次更改過濾器時都不需要讀取數據庫。
添加到數據庫視圖一些額外的SQL代碼,像WHERE(dateCreated會BETWEEN @StartDate和@EndDate),然後有從DB每次我們改變濾波器時間讀取模型。如果Orders表中有大量記錄,那麼這樣做會很好,而且我們通常只對觀看最後一週或幾天感興趣。這可能與MVC3方法有關嗎?如何做呢?