title: Ignore non entity property when save projection changes in WCF Data Services
body: <p>To reduce amount of data coming from WCF Data Services I use a projection technique.</p>
  
  <p>Linq query looked like: </p>
  
  <pre><code>...
      _ctx.Files.Select(x =&gt; new FileProjection() { Id=x.Id, Name = x.Name });
  ...
  
  [DataServiceKey("Id")]
  public class FileProjection : ViewModelBase
  {
      private string _name;
  
      public Guid Id { get; set; }
      public string Name
      {
          get { return _name; }
          set
          {
              _name = value;
              NotifyOfPropertyChange(() =&gt; Name);
          }
      }
  
      public string MyCustomProperty { get; set; }
  }
  </code></pre>
  
  <p>FileProjection class has an additional property that doesn't exist in File entity model.</p>
  
  <p>It works fine while getting the data. But If I tried to update Name I got an exception inside SaveChanges: </p>
  
  <blockquote>
    <p>Additional information: The property 'MyCustomProperty' does not exist
    on type 'DataAccessLayer.Context.File'. Make sure to only use property
    names that are defined by the type.</p>
  </blockquote>
  
  <p>Is there a way to ignore MyCustomProperty during SaveChanges?</p>
  
  <p>Or XXXProjection class shouldn't have any custom public properties?</p>
  
  <p>The client is Silverlight app, WCF Data Services v5.0.1, oData v3</p>