ASP.NET MVC and EF Code First enables you to keep your
validation and business rules in one place (within your model layer), and avoid
having it creep into your Controllers and Views.
Keeping the validation logic in the model layer helps ensure
that you do not duplicate validation/business logic as you add more Controllers
and Views to your application. It allows you to quickly change your
business rules/validation logic in one single place (within your model layer) –
and have all controllers/views across your application immediately reflect
it. This help keep your application code clean and easily maintainable,
and makes it much easier to evolve and update your application in the future.