I’m building my first MVC project and I have a question about the model.
Each webpage can only contain 1 model, yet my page will require 2 models, one is the search option (the ability to narrow your search such as selecting price range, colour etc) as well as the data.
Is it really as simple as creating a new Model, similar to a ViewModel which in this case would only have 2 properties, a SearchModel and a ProductModel?
Yes, there are really two “models” which is sometimes confusing. There’s the “View Model” and the “Domain Model.” The view model is passed directly to and from the view. The domain model describes the real-life domain that you’re dealing with and is what the database persists. Often, they are the same thing, such as if you’re displaying information for a single real domain object (e.g., a car). If you have two domain models that go on one page, you should make a view model with both as properties.