title: WPF/MVVM - should we create a different Class for each ViewModel?
body: <p>I'm attempting the example from the excellent "How Do I" video for MVVM  by Todd Miranda found in MSDN. </p>
  
  <p>I'm trying to adapt the example for my learning purpose. </p>
  
  <ol>
  <li><p>In the example, he has a ViewModel called <em>EmployeeListViewModel</em>. Now if I want to include Departments, should I create another ViewModel such as <em>DepartmentListViewModel</em>? </p></li>
  <li><p>The example has <em>EmployeeRepository</em> as the Data Source. In my case, I'm trying to use an Entity object as the datasource (<em>Employees.edmx</em> in <em>Model</em> folder and <em>EmployeeRepository.cs</em> in <em>DataAccess</em> folder). If I want to display the list of Departments, should I create a separate class called <em>DepartmentRepository</em> and put all department related method definitions there? </p></li>
  <li><p>What if I want to retrieve the employee name and their department's name together? Where should I place the methods for this?</p></li>
  </ol>
  
  <p>I'm very new to WPF and MVVM and please let me know if any of the above needs to be re-phrased. </p>
  
  <p>Thank you for all the help. </p>