title: Seperation of models in a web api application
body: <p>My team devolops a web api application using entity framework,
  The Gui is developed by a seperate team. </p>
  
  <p>My question is how should the models be defined? Should we have two projects - one for domain models (database entities) and one for Dtos which are serializable?</p>
  
  <p>Where should the parsing from Dto to domain models should happen and when should it happen the opposite way? </p>
  
  <p>Moreover, sometimes all the data is needed to be sent to the clients.. Should a Dto be created for those cases as well? Or should I return a domain model? </p>