title: Using ValueInjecter to map between objects with different property names
body: <p>How do I map a property from an object to another object with a different property name?</p>
  
  <p>I have a <code>Product</code> class that looks like this:</p>
  
  <pre><code>public class Product : IEntity
  {
       public int Id { get; set; }
       public string Name { get; set; }
  }
  </code></pre>
  
  <p>And the view model looks like:</p>
  
  <pre><code>public class ProductSpecificationAddViewModel
  {
       public int ProductId { get; set; }
       public string ProductName { get; set; }
  }
  </code></pre>
  
  <p>I need to do the following mapping:</p>
  
  <pre><code>Product.Id =&gt; ProductSpecificationAddViewModel.ProductId
  Product.Name =&gt;ProductSpecificationAddViewModel.ProductName
  </code></pre>
  
  <p>Here is my action method:</p>
  
  <pre><code>public ActionResult Add(int id)
  {
       Product product = productService.GetById(id);
  
       // Mapping
       //ProductSpecificationAddViewModel viewModel = new ProductSpecificationAddViewModel();
       //viewModel.InjectFrom(product);
  
       return View(viewModel);
  }
  </code></pre>
  
  <p>How would I do this?</p>