title: Hide a property on an OData object
body: <p>Assuming you have code like this:</p>
  
  <pre><code>var builder = new ODataConventionModelBuilder { Namespace = "Blah" };
  var foo = builder.EntitySet&lt;Foo&gt;("Foo");
  var bar = builder.EntitySet&lt;Foo&gt;("Bar");
  </code></pre>
  
  <p>(notice they're both of type <code>Foo</code>, but with different endpoint names (Foo/Bar).</p>
  
  <p>I know that I can hide properties by doing this:</p>
  
  <pre><code>foo.EntityType.Ignore(f =&gt; f.Baz);
  </code></pre>
  
  <p>However, that also hides the property when accessing it through the Bar endpoint. (Presumably because it's hidden from the underlying type itself)</p>
  
  <p>Is there some way to hide a property only for the individual endpoints and not from the underlying type itself?</p>
  
  <p>EDIT:</p>
  
  <p>I've also tried, after using <code>EntityType.Ignore()</code>, to add things back using the various <code>Has*</code> methods, e.g. <code>foo.HasManyBinding(f =&gt; f.Baz)</code>, but trying to access the property at this point gives the following error:</p>
  
  <pre><code>{
    "error":{
      "code":"","message":"No HTTP resource was found that matches the request URI 'http://localhost:58799/odata/Foo(42)/Baz'.","innererror":{
        "message":"No routing convention was found to select an action for the OData path with template '~/entityset/key/unresolved'.","type":"","stacktrace":""
      }
    }
  }
  </code></pre>