The interface exposed by ODataModelBuilder and the related properties/classes is confusing. It doesn't look like a normal .NET builder; instead, it appears to have two kinds of members.<br /><br />Normally, a builder has Read/Write properties (to control the thing to be built) and then a Build method (or equivalent property getter).<br /><br />ODataModelBuilder has methods that function like the traditional builder read/write properties (such as EntitySet<T>(...)) but it also has members that are read-only, such as the Procedures enumerable (read-only) and properties like IsBindable on ActionConfiguration.<br /><br />I'd like to see us remove the read-only properties (separate them out to another class with that single responsibility) as well as in general more closely follow the traditional builder model with a full complement of get/set properties that give complete control over the thing to be built.
↧