title: Should the models in my Asp.Net MVC 4 app be dumb?
body: <p>I have read that my models should be just dumb containers for data and that kind of appeals to me. 
  If this is the case then my understanding is that controllers make calls to the Repository which will just fill up the models and pass them back like so.</p>
  
  <pre><code>        using (var userRepo = new UserRepository())
          {
              var users = userRepo.GetAll();
              return View(users);
          }
  </code></pre>
  
  <p>If I want to add a method like AlertUserOrderHasBeenRecd() where would I put it?</p>
  
  <p>If I put it into the Repository then the Repository is doing more than just Data Persistence.</p>
  
  <p>If I put it into the Model then the model is no longer a dumb data container.</p>
  
  <p>I could also add an additional class that is passed in an order model and a user model and takes an action without knowing anything about EF.</p>
  
  <p>Or something else. </p>
  
  <p>Is there a generally accepted best way of handling this?</p>