Я создал таблицу с именем Orders в моей базе данных SQL Server 2008. В этой таблице есть столбцы, которые включают dateCreated типа Date, CustomerId, InvoiceTypeId, InvoiceId и т. Д. У меня также есть таблицы Invoice, Customer и InvoiceType.
Я создал представление в своей базе данных, где я объединяю все эти таблицы, выбирая только несколько интересующих меня столбцов.
В моем проекте MVC3 Visual Studio я создал модель данных объекта ADO.NET для представления представления БД. Я также создал очень простой контроллер. Наконец, я создал вид бритвы с WebGrid для отображения моих заказов. Работает нормально.
Это разумный подход?
Допустим, теперь я хочу добавить на свою страницу бритвы возможность добавить дату начала и дату окончания, которые можно использовать для фильтрации содержимого WebGrid, как я могу это сделать?
Полагаю, есть два способа сделать это.
Загрузить все данные из представления БД в модель сущности. Тогда код фильтрации будет добавлен, возможно, в код бритвы. БД не нужно читать каждый раз при смене фильтра, поскольку все данные уже есть в модели.
добавить в просмотр базы данных дополнительный код SQL, что-то вроде WHERE (dateCreated BETWEEN @StartDate AND @EndDate) , а затем каждый раз, когда мы меняем фильтр, читаем модель из базы данных. Это было бы хорошо, если в таблице «Заказы» имеется большое количество записей, и мы обычно заинтересованы только в просмотре, возможно, за последнюю неделю или несколько дней. Возможно ли это сделать с помощью подхода MVC3? Как это можно сделать?