title: How does Entity Framework identify my view models and bind to my domain model's properties?
body: <p>From my understanding, a view model represents only the data that I would like to display in a particular view and can consist of properties from multiple domain models. I also understand that view models act as a data-binder between my domain models and views. </p>
  
  <p>With that said, I have the following model:</p>
  
  <pre><code>public class Image
  {
      public int ImageID { get; set; }
      public string ImageCaption { get; set; }
      public int NumOfLikes { get; set; }
      public string ImageFilePath { get; set; }
  }
  </code></pre>
  
  <p>And a <code>ProfileViewModels</code> class with the the following view models:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel.DataAnnotations;
  using System.Linq;
  using System.Web;
  
  namespace Splend.Models
  {
      public class ImageUploadViewModel
      {
      }
  
      public class EditUserProfileViewModel
      {
      }
  
      public class ViewUserProfileViewModel
      {
      }
  
      public class ViewImagesViewModel
      {
      }
  }
  </code></pre>
  
  <p>Firstly, I assumed that this is the correct way of creating view models based on <code>AccountViewModels</code> generated by ASP.NET Identity. Secondly, I have not scaffolded any items from these two models. So I have no views or controllers yet.<hr /></p>
  
  <h2>Questions</h2>
  
  <ol>
  <li><strong>How would my view models bind data between my domain model and views?</strong></li>
  <li><strong>How would I map my view models to my domain models?</strong></li>
  <li><strong>How does Entity Framework know that my view model properties are referenced from my domain model and that I am not creating new model properties, i.e. is
  there a particular view model and property naming convention that I
  have to use to tell Entity Framework that <code>ImageUploadViewModel</code> is a view model?</strong></li>
  </ol>