Based on the details that you provided us I was able to reproduce this behavior.
The reason for not getting the inherited properties is a limitation of OData 3. As described in their documentation at point (6.1.2) "An entity type that provides a value for the base type attribute MUST NOT declare a key with the edm:Key element" which means that you cannot have the horizontal inheritance working because in this type of inheritance the primary key properties are in the derived classes.
Based on this article describing the new features of OData 4 which is not released yet and its point (1i): "We allow abstract entity types to be defined without keys; the first non-abstract derived type must specify a key if not already specified." I suppose that the imitation could be removed in a future version of the OData services.
Meanwhile as a workaround of this issue I suggest you modify the
method of the OpenAccessMetadataProvider
which could be found in the Telerik.OpenAccess.Data
and by default it is filtering the properties in the following way:
If you remove the validation for the IsVisible setting of the members you will get the inherited properties directly from the derived classes metadata where we store them as invisible ones. For your convenience I also prepared a sample application demonstrating this approach - please find it attached.
In general this setting is used for filtering only our internal properties like mapped Version columns and class ids in other inheritance strategies - e.g. using a vertical inheritance.
Please bear in mind that this approach will work property only if you use a model with a horizontal inheritance without mapped version columns.
I hope this is applicable for you. Do not hesitate to contact us back if you need any further assistance.
OpenAccess ORM Q2 2013 brings you a more powerful code generation and a unique Bulk Operations support with LINQ syntax. Check out the list of new functionality and improvements shipped with this release.